openapi-github 0.1.0

OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
Documentation
/*
 * GitHub's official OpenAPI spec + Octokit extension
 *
 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
 *
 * The version of the OpenAPI document: 16.6.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// ReposCreatePagesDeploymentRequest : The object used to create GitHub Pages deployment
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ReposCreatePagesDeploymentRequest {
    /// The ID of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required.
    #[serde(rename = "artifact_id", skip_serializing_if = "Option::is_none")]
    pub artifact_id: Option<f64>,
    /// The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required.
    #[serde(rename = "artifact_url", skip_serializing_if = "Option::is_none")]
    pub artifact_url: Option<String>,
    /// The target environment for this GitHub Pages deployment.
    #[serde(rename = "environment", skip_serializing_if = "Option::is_none")]
    pub environment: Option<String>,
    /// A unique string that represents the version of the build for this deployment.
    #[serde(rename = "pages_build_version")]
    pub pages_build_version: String,
    /// The OIDC token issued by GitHub Actions certifying the origin of the deployment.
    #[serde(rename = "oidc_token")]
    pub oidc_token: String,
}

impl ReposCreatePagesDeploymentRequest {
    /// The object used to create GitHub Pages deployment
    pub fn new(pages_build_version: String, oidc_token: String) -> ReposCreatePagesDeploymentRequest {
        ReposCreatePagesDeploymentRequest {
            artifact_id: None,
            artifact_url: None,
            environment: None,
            pages_build_version,
            oidc_token,
        }
    }
}