// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
#![allow(non_camel_case_types)]
#![allow(unused_imports)]
use serde::de::{value, Deserializer, IntoDeserializer};
use serde::{Deserialize, Serialize, Serializer};
use std::str::FromStr;
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AadOauthTokenRequest {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub refresh: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<String>,
#[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
}
impl AadOauthTokenRequest {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AadOauthTokenResult {
#[serde(
rename = "accessToken",
default,
skip_serializing_if = "Option::is_none"
)]
pub access_token: Option<String>,
#[serde(
rename = "refreshTokenCache",
default,
skip_serializing_if = "Option::is_none"
)]
pub refresh_token_cache: Option<String>,
}
impl AadOauthTokenResult {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AgentChangeEvent {
#[doc = "A task agent."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<TaskAgent>,
#[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
pub event_type: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<TaskAgentPoolReference>,
}
impl AgentChangeEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AgentJobRequestMessage {
#[serde(flatten)]
pub job_request_message: JobRequestMessage,
#[serde(
rename = "lockedUntil",
default,
with = "crate::date_time::rfc3339::option"
)]
pub locked_until: Option<time::OffsetDateTime>,
#[serde(rename = "lockToken", default, skip_serializing_if = "Option::is_none")]
pub lock_token: Option<String>,
#[serde(rename = "requestId", default, skip_serializing_if = "Option::is_none")]
pub request_id: Option<i64>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub tasks: Vec<TaskInstance>,
}
impl AgentJobRequestMessage {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AgentPoolEvent {
#[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
pub event_type: Option<String>,
#[doc = "An organization-level grouping of agents."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<TaskAgentPool>,
}
impl AgentPoolEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AgentQueueEvent {
#[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
pub event_type: Option<String>,
#[doc = "An agent queue."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub queue: Option<TaskAgentQueue>,
}
impl AgentQueueEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AgentQueuesEvent {
#[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
pub event_type: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub queues: Vec<TaskAgentQueue>,
}
impl AgentQueuesEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AgentRefreshMessage {
#[serde(rename = "agentId", default, skip_serializing_if = "Option::is_none")]
pub agent_id: Option<i32>,
#[serde(
rename = "targetVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub target_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
}
impl AgentRefreshMessage {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AuthenticationSchemeReference {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inputs: Option<serde_json::Value>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
impl AuthenticationSchemeReference {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AuthorizationHeader {
#[doc = "Gets or sets the name of authorization header."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Gets or sets the value of authorization header."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl AuthorizationHeader {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureKeyVaultPermission {
#[serde(flatten)]
pub azure_resource_permission: AzureResourcePermission,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault: Option<String>,
}
impl AzureKeyVaultPermission {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureKeyVaultVariableGroupProviderData {
#[serde(flatten)]
pub variable_group_provider_data: VariableGroupProviderData,
#[serde(
rename = "lastRefreshedOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub last_refreshed_on: Option<time::OffsetDateTime>,
#[serde(
rename = "serviceEndpointId",
default,
skip_serializing_if = "Option::is_none"
)]
pub service_endpoint_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault: Option<String>,
}
impl AzureKeyVaultVariableGroupProviderData {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureKeyVaultVariableValue {
#[serde(flatten)]
pub variable_value: VariableValue,
#[serde(
rename = "contentType",
default,
skip_serializing_if = "Option::is_none"
)]
pub content_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, with = "crate::date_time::rfc3339::option")]
pub expires: Option<time::OffsetDateTime>,
}
impl AzureKeyVaultVariableValue {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Azure Management Group"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureManagementGroup {
#[doc = "Display name of azure management group"]
#[serde(
rename = "displayName",
default,
skip_serializing_if = "Option::is_none"
)]
pub display_name: Option<String>,
#[doc = "Id of azure management group"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[doc = "Azure management group name"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Id of tenant from which azure management group belongs"]
#[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<String>,
}
impl AzureManagementGroup {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Azure management group query result"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureManagementGroupQueryResult {
#[doc = "Error message in case of an exception"]
#[serde(
rename = "errorMessage",
default,
skip_serializing_if = "Option::is_none"
)]
pub error_message: Option<String>,
#[doc = "List of azure management groups"]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<AzureManagementGroup>,
}
impl AzureManagementGroupQueryResult {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzurePermission {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provisioned: Option<bool>,
#[serde(
rename = "resourceProvider",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_provider: Option<String>,
}
impl AzurePermission {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureResourcePermission {
#[serde(flatten)]
pub azure_permission: AzurePermission,
#[serde(
rename = "resourceGroup",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_group: Option<String>,
}
impl AzureResourcePermission {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureRoleAssignmentPermission {
#[serde(flatten)]
pub azure_permission: AzurePermission,
#[serde(
rename = "roleAssignmentId",
default,
skip_serializing_if = "Option::is_none"
)]
pub role_assignment_id: Option<String>,
}
impl AzureRoleAssignmentPermission {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSpnOperationStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(
rename = "statusMessage",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_message: Option<String>,
}
impl AzureSpnOperationStatus {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSubscription {
#[serde(
rename = "displayName",
default,
skip_serializing_if = "Option::is_none"
)]
pub display_name: Option<String>,
#[serde(
rename = "subscriptionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub subscription_id: Option<String>,
#[serde(
rename = "subscriptionTenantId",
default,
skip_serializing_if = "Option::is_none"
)]
pub subscription_tenant_id: Option<String>,
#[serde(
rename = "subscriptionTenantName",
default,
skip_serializing_if = "Option::is_none"
)]
pub subscription_tenant_name: Option<String>,
}
impl AzureSubscription {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSubscriptionQueryResult {
#[serde(
rename = "errorMessage",
default,
skip_serializing_if = "Option::is_none"
)]
pub error_message: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<AzureSubscription>,
}
impl AzureSubscriptionQueryResult {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ClientCertificate {
#[doc = "Gets or sets the value of client certificate."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl ClientCertificate {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct CounterVariable {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub seed: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<i32>,
}
impl CounterVariable {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DataSource {
#[doc = ""]
#[serde(
rename = "authenticationScheme",
default,
skip_serializing_if = "Option::is_none"
)]
pub authentication_scheme: Option<AuthenticationSchemeReference>,
#[serde(
rename = "endpointUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub endpoint_url: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub headers: Vec<AuthorizationHeader>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "resourceUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_url: Option<String>,
#[serde(
rename = "resultSelector",
default,
skip_serializing_if = "Option::is_none"
)]
pub result_selector: Option<String>,
}
impl DataSource {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DataSourceBinding {
#[serde(flatten)]
pub data_source_binding_base: DataSourceBindingBase,
}
impl DataSourceBinding {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Represents binding of data source for the service endpoint request."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DataSourceBindingBase {
#[doc = "Pagination format supported by this data source(ContinuationToken/SkipTop)."]
#[serde(
rename = "callbackContextTemplate",
default,
skip_serializing_if = "Option::is_none"
)]
pub callback_context_template: Option<String>,
#[doc = "Subsequent calls needed?"]
#[serde(
rename = "callbackRequiredTemplate",
default,
skip_serializing_if = "Option::is_none"
)]
pub callback_required_template: Option<String>,
#[doc = "Gets or sets the name of the data source."]
#[serde(
rename = "dataSourceName",
default,
skip_serializing_if = "Option::is_none"
)]
pub data_source_name: Option<String>,
#[doc = "Gets or sets the endpoint Id."]
#[serde(
rename = "endpointId",
default,
skip_serializing_if = "Option::is_none"
)]
pub endpoint_id: Option<String>,
#[doc = "Gets or sets the url of the service endpoint."]
#[serde(
rename = "endpointUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub endpoint_url: Option<String>,
#[doc = "Gets or sets the authorization headers."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub headers: Vec<AuthorizationHeader>,
#[doc = "Defines the initial value of the query params"]
#[serde(
rename = "initialContextTemplate",
default,
skip_serializing_if = "Option::is_none"
)]
pub initial_context_template: Option<String>,
#[doc = "Gets or sets the parameters for the data source."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parameters: Option<serde_json::Value>,
#[doc = "Gets or sets http request body"]
#[serde(
rename = "requestContent",
default,
skip_serializing_if = "Option::is_none"
)]
pub request_content: Option<String>,
#[doc = "Gets or sets http request verb"]
#[serde(
rename = "requestVerb",
default,
skip_serializing_if = "Option::is_none"
)]
pub request_verb: Option<String>,
#[doc = "Gets or sets the result selector."]
#[serde(
rename = "resultSelector",
default,
skip_serializing_if = "Option::is_none"
)]
pub result_selector: Option<String>,
#[doc = "Gets or sets the result template."]
#[serde(
rename = "resultTemplate",
default,
skip_serializing_if = "Option::is_none"
)]
pub result_template: Option<String>,
#[doc = "Gets or sets the target of the data source."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<String>,
}
impl DataSourceBindingBase {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DataSourceDetails {
#[serde(
rename = "dataSourceName",
default,
skip_serializing_if = "Option::is_none"
)]
pub data_source_name: Option<String>,
#[serde(
rename = "dataSourceUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub data_source_url: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub headers: Vec<AuthorizationHeader>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parameters: Option<serde_json::Value>,
#[serde(
rename = "resourceUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_url: Option<String>,
#[serde(
rename = "resultSelector",
default,
skip_serializing_if = "Option::is_none"
)]
pub result_selector: Option<String>,
}
impl DataSourceDetails {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Demand {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl Demand {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DemandEquals {
#[serde(flatten)]
pub demand: Demand,
}
impl DemandEquals {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DemandExists {
#[serde(flatten)]
pub demand: Demand,
}
impl DemandExists {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DemandMinimumVersion {
#[serde(flatten)]
pub demand: Demand,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<DemandSource>,
}
impl DemandMinimumVersion {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DemandSource {
#[serde(
rename = "sourceName",
default,
skip_serializing_if = "Option::is_none"
)]
pub source_name: Option<String>,
#[serde(
rename = "sourceType",
default,
skip_serializing_if = "Option::is_none"
)]
pub source_type: Option<demand_source::SourceType>,
#[serde(
rename = "sourceVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub source_version: Option<String>,
}
impl DemandSource {
pub fn new() -> Self {
Self::default()
}
}
pub mod demand_source {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum SourceType {
#[serde(rename = "task")]
Task,
#[serde(rename = "feature")]
Feature,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DependencyBinding {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl DependencyBinding {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DependencyData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub input: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub map: Vec<serde_json::Value>,
}
impl DependencyData {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DependsOn {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub input: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub map: Vec<DependencyBinding>,
}
impl DependsOn {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentGatesChangeEvent {
#[serde(
rename = "gateNames",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub gate_names: Vec<String>,
}
impl DeploymentGatesChangeEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Deployment group."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentGroup {
#[serde(flatten)]
pub deployment_group_reference: DeploymentGroupReference,
#[doc = "Description of the deployment group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Number of deployment targets in the deployment group."]
#[serde(
rename = "machineCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub machine_count: Option<i32>,
#[doc = "List of deployment targets in the deployment group."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub machines: Vec<DeploymentMachine>,
#[doc = "List of unique tags across all deployment targets in the deployment group."]
#[serde(
rename = "machineTags",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub machine_tags: Vec<String>,
}
impl DeploymentGroup {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Properties to create Deployment group."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentGroupCreateParameter {
#[doc = "Description of the deployment group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Name of the deployment group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Identifier of the deployment pool in which deployment agents are registered."]
#[serde(rename = "poolId", default, skip_serializing_if = "Option::is_none")]
pub pool_id: Option<i32>,
}
impl DeploymentGroupCreateParameter {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Properties of Deployment pool to create Deployment group."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentGroupCreateParameterPoolProperty {
#[doc = "Deployment pool identifier."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
}
impl DeploymentGroupCreateParameterPoolProperty {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentGroupList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<DeploymentGroup>,
}
impl DeploymentGroupList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Deployment group metrics."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentGroupMetrics {
#[doc = "Metrics columns header"]
#[serde(
rename = "columnsHeader",
default,
skip_serializing_if = "Option::is_none"
)]
pub columns_header: Option<MetricsColumnsHeader>,
#[doc = "Deployment group reference. This is useful for referring a deployment group in another object."]
#[serde(
rename = "deploymentGroup",
default,
skip_serializing_if = "Option::is_none"
)]
pub deployment_group: Option<DeploymentGroupReference>,
#[doc = "Values of properties and the metrics. E.g. 1: total count of deployment targets for which 'TargetState' is 'offline'. E.g. 2: Average time of deployment to the deployment targets for which 'LastJobStatus' is 'passed' and 'TargetState' is 'online'."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub rows: Vec<MetricsRow>,
}
impl DeploymentGroupMetrics {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Deployment group reference. This is useful for referring a deployment group in another object."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentGroupReference {
#[doc = "Deployment group identifier."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[doc = "Name of the deployment group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<TaskAgentPoolReference>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub project: Option<ProjectReference>,
}
impl DeploymentGroupReference {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Deployment group update parameter."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentGroupUpdateParameter {
#[doc = "Description of the deployment group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Name of the deployment group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl DeploymentGroupUpdateParameter {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Deployment target."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentMachine {
#[doc = "A task agent."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<TaskAgent>,
#[doc = "Deployment target Identifier."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[doc = "The class represents a property bag as a collection of key-value pairs. Values of all primitive types (any type with a `TypeCode != TypeCode.Object`) except for `DBNull` are accepted. Values of type Byte[], Int32, Double, DateType and String preserve their type, other primitives are retuned as a String. Byte[] expected as base64 encoded string."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<PropertiesCollection>,
#[doc = "Tags of the deployment target."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub tags: Vec<String>,
}
impl DeploymentMachine {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentMachineChangedData {
#[serde(flatten)]
pub deployment_machine: DeploymentMachine,
#[serde(
rename = "addedTags",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub added_tags: Vec<String>,
#[serde(
rename = "deletedTags",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub deleted_tags: Vec<String>,
}
impl DeploymentMachineChangedData {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentMachineGroup {
#[serde(flatten)]
pub deployment_machine_group_reference: DeploymentMachineGroupReference,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub machines: Vec<DeploymentMachine>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<i32>,
}
impl DeploymentMachineGroup {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentMachineGroupReference {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<TaskAgentPoolReference>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub project: Option<ProjectReference>,
}
impl DeploymentMachineGroupReference {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentMachineList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<DeploymentMachine>,
}
impl DeploymentMachineList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentMachinesChangeEvent {
#[doc = "Deployment group reference. This is useful for referring a deployment group in another object."]
#[serde(
rename = "machineGroupReference",
default,
skip_serializing_if = "Option::is_none"
)]
pub machine_group_reference: Option<DeploymentGroupReference>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub machines: Vec<DeploymentMachineChangedData>,
}
impl DeploymentMachinesChangeEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Deployment pool summary."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentPoolSummary {
#[doc = "List of deployment groups referring to the deployment pool."]
#[serde(
rename = "deploymentGroups",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub deployment_groups: Vec<DeploymentGroupReference>,
#[doc = "Number of deployment agents that are offline."]
#[serde(
rename = "offlineAgentsCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub offline_agents_count: Option<i32>,
#[doc = "Number of deployment agents that are online."]
#[serde(
rename = "onlineAgentsCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub online_agents_count: Option<i32>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<TaskAgentPoolReference>,
#[doc = "EnvironmentResourceReference."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<EnvironmentResourceReference>,
}
impl DeploymentPoolSummary {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Deployment target update parameter."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentTargetUpdateParameter {
#[doc = "Identifier of the deployment target."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub tags: Vec<String>,
}
impl DeploymentTargetUpdateParameter {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DiagnosticLogMetadata {
#[serde(rename = "agentId", default, skip_serializing_if = "Option::is_none")]
pub agent_id: Option<i32>,
#[serde(rename = "agentName", default, skip_serializing_if = "Option::is_none")]
pub agent_name: Option<String>,
#[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
pub file_name: Option<String>,
#[serde(rename = "phaseName", default, skip_serializing_if = "Option::is_none")]
pub phase_name: Option<String>,
#[serde(
rename = "phaseResult",
default,
skip_serializing_if = "Option::is_none"
)]
pub phase_result: Option<String>,
#[serde(rename = "poolId", default, skip_serializing_if = "Option::is_none")]
pub pool_id: Option<i32>,
}
impl DiagnosticLogMetadata {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ElasticAgentPoolResizedEvent {
#[serde(rename = "newSize", default, skip_serializing_if = "Option::is_none")]
pub new_size: Option<i32>,
#[serde(rename = "poolId", default, skip_serializing_if = "Option::is_none")]
pub pool_id: Option<i32>,
#[serde(rename = "poolName", default, skip_serializing_if = "Option::is_none")]
pub pool_name: Option<String>,
#[serde(
rename = "previousSize",
default,
skip_serializing_if = "Option::is_none"
)]
pub previous_size: Option<i32>,
#[serde(
rename = "resourceId",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_id: Option<String>,
}
impl ElasticAgentPoolResizedEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Data and settings for an elastic node"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ElasticNode {
#[doc = "Distributed Task's Agent Id"]
#[serde(rename = "agentId", default, skip_serializing_if = "Option::is_none")]
pub agent_id: Option<i32>,
#[doc = "Summary of the state of the agent"]
#[serde(
rename = "agentState",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_state: Option<elastic_node::AgentState>,
#[doc = "Compute Id. VMSS's InstanceId"]
#[serde(rename = "computeId", default, skip_serializing_if = "Option::is_none")]
pub compute_id: Option<String>,
#[doc = "State of the compute host"]
#[serde(
rename = "computeState",
default,
skip_serializing_if = "Option::is_none"
)]
pub compute_state: Option<elastic_node::ComputeState>,
#[doc = "Users can force state changes to specific states (ToReimage, ToDelete, Save)"]
#[serde(
rename = "desiredState",
default,
skip_serializing_if = "Option::is_none"
)]
pub desired_state: Option<elastic_node::DesiredState>,
#[doc = "Unique identifier since the agent and/or VM may be null"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[doc = "Computer name. Used to match a scaleset VM with an agent"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Pool Id that this node belongs to"]
#[serde(rename = "poolId", default, skip_serializing_if = "Option::is_none")]
pub pool_id: Option<i32>,
#[doc = "Last job RequestId assigned to this agent"]
#[serde(rename = "requestId", default, skip_serializing_if = "Option::is_none")]
pub request_id: Option<i64>,
#[doc = "State of the ElasticNode"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<elastic_node::State>,
#[doc = "Last state change. Only updated by SQL."]
#[serde(
rename = "stateChangedOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub state_changed_on: Option<time::OffsetDateTime>,
}
impl ElasticNode {
pub fn new() -> Self {
Self::default()
}
}
pub mod elastic_node {
use super::*;
#[doc = "Summary of the state of the agent"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum AgentState {
#[serde(rename = "none")]
None,
#[serde(rename = "enabled")]
Enabled,
#[serde(rename = "online")]
Online,
#[serde(rename = "assigned")]
Assigned,
}
#[doc = "State of the compute host"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum ComputeState {
#[serde(rename = "none")]
None,
#[serde(rename = "healthy")]
Healthy,
#[serde(rename = "creating")]
Creating,
#[serde(rename = "deleting")]
Deleting,
#[serde(rename = "failed")]
Failed,
#[serde(rename = "stopped")]
Stopped,
}
#[doc = "Users can force state changes to specific states (ToReimage, ToDelete, Save)"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum DesiredState {
#[serde(rename = "none")]
None,
#[serde(rename = "new")]
New,
#[serde(rename = "creatingCompute")]
CreatingCompute,
#[serde(rename = "startingAgent")]
StartingAgent,
#[serde(rename = "idle")]
Idle,
#[serde(rename = "assigned")]
Assigned,
#[serde(rename = "offline")]
Offline,
#[serde(rename = "pendingReimage")]
PendingReimage,
#[serde(rename = "pendingDelete")]
PendingDelete,
#[serde(rename = "saved")]
Saved,
#[serde(rename = "deletingCompute")]
DeletingCompute,
#[serde(rename = "deleted")]
Deleted,
#[serde(rename = "lost")]
Lost,
}
#[doc = "State of the ElasticNode"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum State {
#[serde(rename = "none")]
None,
#[serde(rename = "new")]
New,
#[serde(rename = "creatingCompute")]
CreatingCompute,
#[serde(rename = "startingAgent")]
StartingAgent,
#[serde(rename = "idle")]
Idle,
#[serde(rename = "assigned")]
Assigned,
#[serde(rename = "offline")]
Offline,
#[serde(rename = "pendingReimage")]
PendingReimage,
#[serde(rename = "pendingDelete")]
PendingDelete,
#[serde(rename = "saved")]
Saved,
#[serde(rename = "deletingCompute")]
DeletingCompute,
#[serde(rename = "deleted")]
Deleted,
#[serde(rename = "lost")]
Lost,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ElasticNodeList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<ElasticNode>,
}
impl ElasticNodeList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Class used for updating an elastic node where only certain members are populated"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ElasticNodeSettings {
#[doc = "State of the ElasticNode"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<elastic_node_settings::State>,
}
impl ElasticNodeSettings {
pub fn new() -> Self {
Self::default()
}
}
pub mod elastic_node_settings {
use super::*;
#[doc = "State of the ElasticNode"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum State {
#[serde(rename = "none")]
None,
#[serde(rename = "new")]
New,
#[serde(rename = "creatingCompute")]
CreatingCompute,
#[serde(rename = "startingAgent")]
StartingAgent,
#[serde(rename = "idle")]
Idle,
#[serde(rename = "assigned")]
Assigned,
#[serde(rename = "offline")]
Offline,
#[serde(rename = "pendingReimage")]
PendingReimage,
#[serde(rename = "pendingDelete")]
PendingDelete,
#[serde(rename = "saved")]
Saved,
#[serde(rename = "deletingCompute")]
DeletingCompute,
#[serde(rename = "deleted")]
Deleted,
#[serde(rename = "lost")]
Lost,
}
}
#[doc = "Data and settings for an elastic pool"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ElasticPool {
#[doc = "Set whether agents should be configured to run with interactive UI"]
#[serde(
rename = "agentInteractiveUI",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_interactive_ui: Option<bool>,
#[doc = "Azure string representing to location of the resource"]
#[serde(rename = "azureId", default, skip_serializing_if = "Option::is_none")]
pub azure_id: Option<String>,
#[doc = "Number of agents to have ready waiting for jobs"]
#[serde(
rename = "desiredIdle",
default,
skip_serializing_if = "Option::is_none"
)]
pub desired_idle: Option<i32>,
#[doc = "The desired size of the pool"]
#[serde(
rename = "desiredSize",
default,
skip_serializing_if = "Option::is_none"
)]
pub desired_size: Option<i32>,
#[doc = "Maximum number of nodes that will exist in the elastic pool"]
#[serde(
rename = "maxCapacity",
default,
skip_serializing_if = "Option::is_none"
)]
pub max_capacity: Option<i32>,
#[doc = "Keep nodes in the pool on failure for investigation"]
#[serde(
rename = "maxSavedNodeCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub max_saved_node_count: Option<i32>,
#[doc = "Timestamp the pool was first detected to be offline"]
#[serde(
rename = "offlineSince",
default,
with = "crate::date_time::rfc3339::option"
)]
pub offline_since: Option<time::OffsetDateTime>,
#[doc = "Operating system type of the nodes in the pool"]
#[serde(rename = "osType", default, skip_serializing_if = "Option::is_none")]
pub os_type: Option<elastic_pool::OsType>,
#[doc = "Id of the associated TaskAgentPool"]
#[serde(rename = "poolId", default, skip_serializing_if = "Option::is_none")]
pub pool_id: Option<i32>,
#[doc = "Discard node after each job completes"]
#[serde(
rename = "recycleAfterEachUse",
default,
skip_serializing_if = "Option::is_none"
)]
pub recycle_after_each_use: Option<bool>,
#[doc = "Id of the Service Endpoint used to connect to Azure"]
#[serde(
rename = "serviceEndpointId",
default,
skip_serializing_if = "Option::is_none"
)]
pub service_endpoint_id: Option<String>,
#[doc = "Scope the Service Endpoint belongs to"]
#[serde(
rename = "serviceEndpointScope",
default,
skip_serializing_if = "Option::is_none"
)]
pub service_endpoint_scope: Option<String>,
#[doc = "The number of sizing attempts executed while trying to achieve a desired size"]
#[serde(
rename = "sizingAttempts",
default,
skip_serializing_if = "Option::is_none"
)]
pub sizing_attempts: Option<i32>,
#[doc = "State of the pool"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<elastic_pool::State>,
#[doc = "The minimum time in minutes to keep idle agents alive"]
#[serde(
rename = "timeToLiveMinutes",
default,
skip_serializing_if = "Option::is_none"
)]
pub time_to_live_minutes: Option<i32>,
}
impl ElasticPool {
pub fn new() -> Self {
Self::default()
}
}
pub mod elastic_pool {
use super::*;
#[doc = "Operating system type of the nodes in the pool"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum OsType {
#[serde(rename = "windows")]
Windows,
#[serde(rename = "linux")]
Linux,
}
#[doc = "State of the pool"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum State {
#[serde(rename = "online")]
Online,
#[serde(rename = "offline")]
Offline,
#[serde(rename = "unhealthy")]
Unhealthy,
#[serde(rename = "new")]
New,
}
}
#[doc = "Returned result from creating a new elastic pool"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ElasticPoolCreationResult {
#[doc = "An organization-level grouping of agents."]
#[serde(rename = "agentPool", default, skip_serializing_if = "Option::is_none")]
pub agent_pool: Option<TaskAgentPool>,
#[doc = "An agent queue."]
#[serde(
rename = "agentQueue",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_queue: Option<TaskAgentQueue>,
#[doc = "Data and settings for an elastic pool"]
#[serde(
rename = "elasticPool",
default,
skip_serializing_if = "Option::is_none"
)]
pub elastic_pool: Option<ElasticPool>,
}
impl ElasticPoolCreationResult {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ElasticPoolList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<ElasticPool>,
}
impl ElasticPoolList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Log data for an Elastic Pool"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ElasticPoolLog {
#[doc = "Log Id"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[doc = "E.g. error, warning, info"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<elastic_pool_log::Level>,
#[doc = "Log contents"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[doc = "Operation that triggered the message being logged"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operation: Option<elastic_pool_log::Operation>,
#[doc = "Id of the associated TaskAgentPool"]
#[serde(rename = "poolId", default, skip_serializing_if = "Option::is_none")]
pub pool_id: Option<i32>,
#[doc = "Datetime that the log occurred"]
#[serde(default, with = "crate::date_time::rfc3339::option")]
pub timestamp: Option<time::OffsetDateTime>,
}
impl ElasticPoolLog {
pub fn new() -> Self {
Self::default()
}
}
pub mod elastic_pool_log {
use super::*;
#[doc = "E.g. error, warning, info"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Level {
#[serde(rename = "error")]
Error,
#[serde(rename = "warning")]
Warning,
#[serde(rename = "info")]
Info,
}
#[doc = "Operation that triggered the message being logged"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Operation {
#[serde(rename = "configurationJob")]
ConfigurationJob,
#[serde(rename = "sizingJob")]
SizingJob,
#[serde(rename = "increaseCapacity")]
IncreaseCapacity,
#[serde(rename = "reimage")]
Reimage,
#[serde(rename = "deleteVMs")]
DeleteVMs,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ElasticPoolLogList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<ElasticPoolLog>,
}
impl ElasticPoolLogList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Class used for updating an elastic pool where only certain members are populated"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ElasticPoolSettings {
#[doc = "Set whether agents should be configured to run with interactive UI"]
#[serde(
rename = "agentInteractiveUI",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_interactive_ui: Option<bool>,
#[doc = "Azure string representing to location of the resource"]
#[serde(rename = "azureId", default, skip_serializing_if = "Option::is_none")]
pub azure_id: Option<String>,
#[doc = "Number of machines to have ready waiting for jobs"]
#[serde(
rename = "desiredIdle",
default,
skip_serializing_if = "Option::is_none"
)]
pub desired_idle: Option<i32>,
#[doc = "Maximum number of machines that will exist in the elastic pool"]
#[serde(
rename = "maxCapacity",
default,
skip_serializing_if = "Option::is_none"
)]
pub max_capacity: Option<i32>,
#[doc = "Keep machines in the pool on failure for investigation"]
#[serde(
rename = "maxSavedNodeCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub max_saved_node_count: Option<i32>,
#[doc = "Operating system type of the machines in the pool"]
#[serde(rename = "osType", default, skip_serializing_if = "Option::is_none")]
pub os_type: Option<elastic_pool_settings::OsType>,
#[doc = "Discard machines after each job completes"]
#[serde(
rename = "recycleAfterEachUse",
default,
skip_serializing_if = "Option::is_none"
)]
pub recycle_after_each_use: Option<bool>,
#[doc = "Id of the Service Endpoint used to connect to Azure"]
#[serde(
rename = "serviceEndpointId",
default,
skip_serializing_if = "Option::is_none"
)]
pub service_endpoint_id: Option<String>,
#[doc = "Scope the Service Endpoint belongs to"]
#[serde(
rename = "serviceEndpointScope",
default,
skip_serializing_if = "Option::is_none"
)]
pub service_endpoint_scope: Option<String>,
#[doc = "The minimum time in minutes to keep idle agents alive"]
#[serde(
rename = "timeToLiveMinutes",
default,
skip_serializing_if = "Option::is_none"
)]
pub time_to_live_minutes: Option<i32>,
}
impl ElasticPoolSettings {
pub fn new() -> Self {
Self::default()
}
}
pub mod elastic_pool_settings {
use super::*;
#[doc = "Operating system type of the machines in the pool"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum OsType {
#[serde(rename = "windows")]
Windows,
#[serde(rename = "linux")]
Linux,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EndpointAuthorization {
#[doc = "Gets or sets the parameters for the selected authorization scheme."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parameters: Option<serde_json::Value>,
#[doc = "Gets or sets the scheme used for service endpoint authentication."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
impl EndpointAuthorization {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Represents url of the service endpoint."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EndpointUrl {
#[doc = ""]
#[serde(rename = "dependsOn", default, skip_serializing_if = "Option::is_none")]
pub depends_on: Option<DependsOn>,
#[doc = "Gets or sets the display name of service endpoint url."]
#[serde(
rename = "displayName",
default,
skip_serializing_if = "Option::is_none"
)]
pub display_name: Option<String>,
#[doc = "Gets or sets the help text of service endpoint url."]
#[serde(rename = "helpText", default, skip_serializing_if = "Option::is_none")]
pub help_text: Option<String>,
#[doc = "Gets or sets the visibility of service endpoint url."]
#[serde(rename = "isVisible", default, skip_serializing_if = "Option::is_none")]
pub is_visible: Option<String>,
#[doc = "Gets or sets the value of service endpoint url."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl EndpointUrl {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Properties to create Environment."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EnvironmentCreateParameter {
#[doc = "Description of the environment."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Name of the environment."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl EnvironmentCreateParameter {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "EnvironmentDeploymentExecutionRecord."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EnvironmentDeploymentExecutionRecord {
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub definition: Option<TaskOrchestrationOwner>,
#[doc = "Id of the Environment"]
#[serde(
rename = "environmentId",
default,
skip_serializing_if = "Option::is_none"
)]
pub environment_id: Option<i32>,
#[doc = "Finish time of the environment deployment execution"]
#[serde(
rename = "finishTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub finish_time: Option<time::OffsetDateTime>,
#[doc = "Id of the Environment deployment execution history record"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[doc = "Job Attempt"]
#[serde(
rename = "jobAttempt",
default,
skip_serializing_if = "Option::is_none"
)]
pub job_attempt: Option<i32>,
#[doc = "Job name"]
#[serde(rename = "jobName", default, skip_serializing_if = "Option::is_none")]
pub job_name: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owner: Option<TaskOrchestrationOwner>,
#[doc = "Plan Id"]
#[serde(rename = "planId", default, skip_serializing_if = "Option::is_none")]
pub plan_id: Option<String>,
#[doc = "Plan type of the environment deployment execution record"]
#[serde(rename = "planType", default, skip_serializing_if = "Option::is_none")]
pub plan_type: Option<String>,
#[doc = "Queue time of the environment deployment execution"]
#[serde(
rename = "queueTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub queue_time: Option<time::OffsetDateTime>,
#[doc = "Request identifier of the Environment deployment execution history record"]
#[serde(
rename = "requestIdentifier",
default,
skip_serializing_if = "Option::is_none"
)]
pub request_identifier: Option<String>,
#[doc = "Resource Id"]
#[serde(
rename = "resourceId",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_id: Option<i32>,
#[doc = "Result of the environment deployment execution"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<environment_deployment_execution_record::Result>,
#[doc = "Project Id"]
#[serde(rename = "scopeId", default, skip_serializing_if = "Option::is_none")]
pub scope_id: Option<String>,
#[doc = "Service owner Id"]
#[serde(
rename = "serviceOwner",
default,
skip_serializing_if = "Option::is_none"
)]
pub service_owner: Option<String>,
#[doc = "Stage Attempt"]
#[serde(
rename = "stageAttempt",
default,
skip_serializing_if = "Option::is_none"
)]
pub stage_attempt: Option<i32>,
#[doc = "Stage name"]
#[serde(rename = "stageName", default, skip_serializing_if = "Option::is_none")]
pub stage_name: Option<String>,
#[doc = "Start time of the environment deployment execution"]
#[serde(
rename = "startTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub start_time: Option<time::OffsetDateTime>,
}
impl EnvironmentDeploymentExecutionRecord {
pub fn new() -> Self {
Self::default()
}
}
pub mod environment_deployment_execution_record {
use super::*;
#[doc = "Result of the environment deployment execution"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Result {
#[serde(rename = "succeeded")]
Succeeded,
#[serde(rename = "succeededWithIssues")]
SucceededWithIssues,
#[serde(rename = "failed")]
Failed,
#[serde(rename = "canceled")]
Canceled,
#[serde(rename = "skipped")]
Skipped,
#[serde(rename = "abandoned")]
Abandoned,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EnvironmentDeploymentExecutionRecordList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<EnvironmentDeploymentExecutionRecord>,
}
impl EnvironmentDeploymentExecutionRecordList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Environment."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EnvironmentInstance {
#[doc = ""]
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<IdentityRef>,
#[doc = "Creation time of the Environment"]
#[serde(
rename = "createdOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub created_on: Option<time::OffsetDateTime>,
#[doc = "Description of the Environment."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Id of the Environment"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[doc = ""]
#[serde(
rename = "lastModifiedBy",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_modified_by: Option<IdentityRef>,
#[doc = "Last modified time of the Environment"]
#[serde(
rename = "lastModifiedOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub last_modified_on: Option<time::OffsetDateTime>,
#[doc = "Name of the Environment."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub project: Option<ProjectReference>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub resources: Vec<EnvironmentResourceReference>,
}
impl EnvironmentInstance {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EnvironmentInstanceList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<EnvironmentInstance>,
}
impl EnvironmentInstanceList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "EnvironmentLinkedResourceReference."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EnvironmentLinkedResourceReference {
#[doc = "Id of the resource."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[doc = "Type of resource."]
#[serde(rename = "typeName", default, skip_serializing_if = "Option::is_none")]
pub type_name: Option<String>,
}
impl EnvironmentLinkedResourceReference {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EnvironmentReference {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl EnvironmentReference {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EnvironmentResource {
#[doc = ""]
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<IdentityRef>,
#[serde(
rename = "createdOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub created_on: Option<time::OffsetDateTime>,
#[doc = ""]
#[serde(
rename = "environmentReference",
default,
skip_serializing_if = "Option::is_none"
)]
pub environment_reference: Option<EnvironmentReference>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[doc = ""]
#[serde(
rename = "lastModifiedBy",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_modified_by: Option<IdentityRef>,
#[serde(
rename = "lastModifiedOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub last_modified_on: Option<time::OffsetDateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Tags of the Environment Resource."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub tags: Vec<String>,
#[doc = "Environment resource type"]
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<environment_resource::Type>,
}
impl EnvironmentResource {
pub fn new() -> Self {
Self::default()
}
}
pub mod environment_resource {
use super::*;
#[doc = "Environment resource type"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "undefined")]
Undefined,
#[serde(rename = "generic")]
Generic,
#[serde(rename = "virtualMachine")]
VirtualMachine,
#[serde(rename = "kubernetes")]
Kubernetes,
}
}
#[doc = "EnvironmentResourceDeploymentExecutionRecord."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EnvironmentResourceDeploymentExecutionRecord {
#[doc = "Id of the Environment"]
#[serde(
rename = "environmentId",
default,
skip_serializing_if = "Option::is_none"
)]
pub environment_id: Option<i32>,
#[doc = "Finish time of the environment resource deployment execution"]
#[serde(
rename = "finishTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub finish_time: Option<time::OffsetDateTime>,
#[doc = "Id of the Environment deployment execution history record"]
#[serde(rename = "requestId", default, skip_serializing_if = "Option::is_none")]
pub request_id: Option<i64>,
#[doc = "Resource Id"]
#[serde(
rename = "resourceId",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_id: Option<i32>,
#[doc = "Result of the environment deployment execution"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<environment_resource_deployment_execution_record::Result>,
#[doc = "Start time of the environment resource deployment execution"]
#[serde(
rename = "startTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub start_time: Option<time::OffsetDateTime>,
}
impl EnvironmentResourceDeploymentExecutionRecord {
pub fn new() -> Self {
Self::default()
}
}
pub mod environment_resource_deployment_execution_record {
use super::*;
#[doc = "Result of the environment deployment execution"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Result {
#[serde(rename = "succeeded")]
Succeeded,
#[serde(rename = "succeededWithIssues")]
SucceededWithIssues,
#[serde(rename = "failed")]
Failed,
#[serde(rename = "canceled")]
Canceled,
#[serde(rename = "skipped")]
Skipped,
#[serde(rename = "abandoned")]
Abandoned,
}
}
#[doc = "EnvironmentResourceReference."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EnvironmentResourceReference {
#[doc = "Id of the resource."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[doc = "Name of the resource."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Tags of the Environment Resource Reference."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub tags: Vec<String>,
#[doc = "Type of the resource."]
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<environment_resource_reference::Type>,
}
impl EnvironmentResourceReference {
pub fn new() -> Self {
Self::default()
}
}
pub mod environment_resource_reference {
use super::*;
#[doc = "Type of the resource."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "undefined")]
Undefined,
#[serde(rename = "generic")]
Generic,
#[serde(rename = "virtualMachine")]
VirtualMachine,
#[serde(rename = "kubernetes")]
Kubernetes,
}
}
#[doc = "Properties to update Environment."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EnvironmentUpdateParameter {
#[doc = "Description of the environment."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Name of the environment."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl EnvironmentUpdateParameter {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EventsConfig {}
impl EventsConfig {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ExpressionValidationItem {
#[serde(flatten)]
pub validation_item: ValidationItem,
}
impl ExpressionValidationItem {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct GraphSubjectBase {
#[doc = "Links"]
#[serde(rename = "_links", default, skip_serializing_if = "Option::is_none")]
pub links: Option<serde_json::Value>,
#[doc = "The descriptor is the primary way to reference the graph subject while the system is running. This field will uniquely identify the same graph subject across both Accounts and Organizations."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub descriptor: Option<String>,
#[doc = "This is the non-unique display name of the graph subject. To change this field, you must alter its value in the source provider."]
#[serde(
rename = "displayName",
default,
skip_serializing_if = "Option::is_none"
)]
pub display_name: Option<String>,
#[doc = "This url is the full route to the source resource of this graph subject."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
impl GraphSubjectBase {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct HelpLink {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
impl HelpLink {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct IdentityRef {
#[serde(flatten)]
pub graph_subject_base: GraphSubjectBase,
#[doc = "Deprecated - Can be retrieved by querying the Graph user referenced in the \"self\" entry of the IdentityRef \"_links\" dictionary"]
#[serde(
rename = "directoryAlias",
default,
skip_serializing_if = "Option::is_none"
)]
pub directory_alias: Option<String>,
pub id: String,
#[doc = "Deprecated - Available in the \"avatar\" entry of the IdentityRef \"_links\" dictionary"]
#[serde(rename = "imageUrl", default, skip_serializing_if = "Option::is_none")]
pub image_url: Option<String>,
#[doc = "Deprecated - Can be retrieved by querying the Graph membership state referenced in the \"membershipState\" entry of the GraphUser \"_links\" dictionary"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inactive: Option<bool>,
#[doc = "Deprecated - Can be inferred from the subject type of the descriptor (Descriptor.IsAadUserType/Descriptor.IsAadGroupType)"]
#[serde(
rename = "isAadIdentity",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_aad_identity: Option<bool>,
#[doc = "Deprecated - Can be inferred from the subject type of the descriptor (Descriptor.IsGroupType)"]
#[serde(
rename = "isContainer",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_container: Option<bool>,
#[serde(
rename = "isDeletedInOrigin",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_deleted_in_origin: Option<bool>,
#[doc = "Deprecated - not in use in most preexisting implementations of ToIdentityRef"]
#[serde(
rename = "profileUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub profile_url: Option<String>,
#[doc = "Deprecated - use Domain+PrincipalName instead"]
#[serde(rename = "uniqueName")]
pub unique_name: String,
}
impl IdentityRef {
pub fn new(id: String, unique_name: String) -> Self {
Self {
graph_subject_base: GraphSubjectBase::default(),
directory_alias: None,
id,
image_url: None,
inactive: None,
is_aad_identity: None,
is_container: None,
is_deleted_in_origin: None,
profile_url: None,
unique_name,
}
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct InputBindingContext {
#[doc = "Value of the input"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl InputBindingContext {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Describes an input for subscriptions."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct InputDescriptor {
#[doc = "The ids of all inputs that the value of this input is dependent on."]
#[serde(
rename = "dependencyInputIds",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub dependency_input_ids: Vec<String>,
#[doc = "Description of what this input is used for"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "The group localized name to which this input belongs and can be shown as a header for the container that will include all the inputs in the group."]
#[serde(rename = "groupName", default, skip_serializing_if = "Option::is_none")]
pub group_name: Option<String>,
#[doc = "If true, the value information for this input is dynamic and should be fetched when the value of dependency inputs change."]
#[serde(
rename = "hasDynamicValueInformation",
default,
skip_serializing_if = "Option::is_none"
)]
pub has_dynamic_value_information: Option<bool>,
#[doc = "Identifier for the subscription input"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[doc = "Mode in which the value of this input should be entered"]
#[serde(rename = "inputMode", default, skip_serializing_if = "Option::is_none")]
pub input_mode: Option<input_descriptor::InputMode>,
#[doc = "Gets whether this input is confidential, such as for a password or application key"]
#[serde(
rename = "isConfidential",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_confidential: Option<bool>,
#[doc = "Localized name which can be shown as a label for the subscription input"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Custom properties for the input which can be used by the service provider"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
#[doc = "Underlying data type for the input value. When this value is specified, InputMode, Validation and Values are optional."]
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[doc = "Gets whether this input is included in the default generated action description."]
#[serde(
rename = "useInDefaultDescription",
default,
skip_serializing_if = "Option::is_none"
)]
pub use_in_default_description: Option<bool>,
#[doc = "Describes what values are valid for a subscription input"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub validation: Option<InputValidation>,
#[doc = "A hint for input value. It can be used in the UI as the input placeholder."]
#[serde(rename = "valueHint", default, skip_serializing_if = "Option::is_none")]
pub value_hint: Option<String>,
#[doc = "Information about the possible/allowed values for a given subscription input"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<InputValues>,
}
impl InputDescriptor {
pub fn new() -> Self {
Self::default()
}
}
pub mod input_descriptor {
use super::*;
#[doc = "Mode in which the value of this input should be entered"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum InputMode {
#[serde(rename = "none")]
None,
#[serde(rename = "textBox")]
TextBox,
#[serde(rename = "passwordBox")]
PasswordBox,
#[serde(rename = "combo")]
Combo,
#[serde(rename = "radioButtons")]
RadioButtons,
#[serde(rename = "checkBox")]
CheckBox,
#[serde(rename = "textArea")]
TextArea,
}
}
#[doc = "Describes what values are valid for a subscription input"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct InputValidation {
#[doc = "Gets or sets the data data type to validate."]
#[serde(rename = "dataType", default, skip_serializing_if = "Option::is_none")]
pub data_type: Option<input_validation::DataType>,
#[doc = "Gets or sets if this is a required field."]
#[serde(
rename = "isRequired",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_required: Option<bool>,
#[doc = "Gets or sets the maximum length of this descriptor."]
#[serde(rename = "maxLength", default, skip_serializing_if = "Option::is_none")]
pub max_length: Option<i32>,
#[doc = "Gets or sets the minimum value for this descriptor."]
#[serde(rename = "maxValue", default, skip_serializing_if = "Option::is_none")]
pub max_value: Option<String>,
#[doc = "Gets or sets the minimum length of this descriptor."]
#[serde(rename = "minLength", default, skip_serializing_if = "Option::is_none")]
pub min_length: Option<i32>,
#[doc = "Gets or sets the minimum value for this descriptor."]
#[serde(rename = "minValue", default, skip_serializing_if = "Option::is_none")]
pub min_value: Option<String>,
#[doc = "Gets or sets the pattern to validate."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pattern: Option<String>,
#[doc = "Gets or sets the error on pattern mismatch."]
#[serde(
rename = "patternMismatchErrorMessage",
default,
skip_serializing_if = "Option::is_none"
)]
pub pattern_mismatch_error_message: Option<String>,
}
impl InputValidation {
pub fn new() -> Self {
Self::default()
}
}
pub mod input_validation {
use super::*;
#[doc = "Gets or sets the data data type to validate."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum DataType {
#[serde(rename = "none")]
None,
#[serde(rename = "string")]
String,
#[serde(rename = "number")]
Number,
#[serde(rename = "boolean")]
Boolean,
#[serde(rename = "guid")]
Guid,
#[serde(rename = "uri")]
Uri,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct InputValidationItem {
#[serde(flatten)]
pub validation_item: ValidationItem,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub context: Option<InputBindingContext>,
}
impl InputValidationItem {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct InputValidationRequest {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inputs: Option<serde_json::Value>,
}
impl InputValidationRequest {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Information about a single value for an input"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct InputValue {
#[doc = "Any other data about this input"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<serde_json::Value>,
#[doc = "The text to show for the display of this value"]
#[serde(
rename = "displayValue",
default,
skip_serializing_if = "Option::is_none"
)]
pub display_value: Option<String>,
#[doc = "The value to store for this input"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl InputValue {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Information about the possible/allowed values for a given subscription input"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct InputValues {
#[doc = "The default value to use for this input"]
#[serde(
rename = "defaultValue",
default,
skip_serializing_if = "Option::is_none"
)]
pub default_value: Option<String>,
#[doc = "Error information related to a subscription input value."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<InputValuesError>,
#[doc = "The id of the input"]
#[serde(rename = "inputId", default, skip_serializing_if = "Option::is_none")]
pub input_id: Option<String>,
#[doc = "Should this input be disabled"]
#[serde(
rename = "isDisabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_disabled: Option<bool>,
#[doc = "Should the value be restricted to one of the values in the PossibleValues (True) or are the values in PossibleValues just a suggestion (False)"]
#[serde(
rename = "isLimitedToPossibleValues",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_limited_to_possible_values: Option<bool>,
#[doc = "Should this input be made read-only"]
#[serde(
rename = "isReadOnly",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_read_only: Option<bool>,
#[doc = "Possible values that this input can take"]
#[serde(
rename = "possibleValues",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub possible_values: Vec<InputValue>,
}
impl InputValues {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Error information related to a subscription input value."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct InputValuesError {
#[doc = "The error message."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
impl InputValuesError {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Issue {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<issue::Type>,
}
impl Issue {
pub fn new() -> Self {
Self::default()
}
}
pub mod issue {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "error")]
Error,
#[serde(rename = "warning")]
Warning,
}
}
#[doc = "Represents a JSON object."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JObject {
#[doc = "Represents an abstract JSON token."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item: Option<JToken>,
#[doc = "Gets the node type for this JToken."]
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
impl JObject {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Represents an abstract JSON token."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JToken {
#[doc = "Represents an abstract JSON token."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub first: Box<Option<JToken>>,
#[doc = "Gets a value indicating whether this token has child tokens."]
#[serde(rename = "hasValues", default, skip_serializing_if = "Option::is_none")]
pub has_values: Option<bool>,
#[doc = "Represents an abstract JSON token."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item: Box<Option<JToken>>,
#[doc = "Represents an abstract JSON token."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last: Box<Option<JToken>>,
#[doc = "Represents an abstract JSON token."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next: Box<Option<JToken>>,
#[doc = "Gets or sets the parent."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent: Option<String>,
#[doc = "Gets the path of the JSON token."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[doc = "Represents an abstract JSON token."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub previous: Box<Option<JToken>>,
#[doc = "Represents an abstract JSON token."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub root: Box<Option<JToken>>,
#[doc = "Gets the node type for this JToken."]
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
impl JToken {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobAssignedEvent {
#[serde(flatten)]
pub job_event: JobEvent,
#[doc = "A job request for an agent."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<TaskAgentJobRequest>,
}
impl JobAssignedEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobCancelMessage {
#[serde(rename = "jobId", default, skip_serializing_if = "Option::is_none")]
pub job_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
}
impl JobCancelMessage {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobCanceledEvent {
#[serde(flatten)]
pub job_event: JobEvent,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
}
impl JobCanceledEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobCompletedEvent {
#[serde(flatten)]
pub job_event: JobEvent,
#[serde(
rename = "agentShuttingDown",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_shutting_down: Option<bool>,
#[serde(rename = "requestId", default, skip_serializing_if = "Option::is_none")]
pub request_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<job_completed_event::Result>,
}
impl JobCompletedEvent {
pub fn new() -> Self {
Self::default()
}
}
pub mod job_completed_event {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Result {
#[serde(rename = "succeeded")]
Succeeded,
#[serde(rename = "succeededWithIssues")]
SucceededWithIssues,
#[serde(rename = "failed")]
Failed,
#[serde(rename = "canceled")]
Canceled,
#[serde(rename = "skipped")]
Skipped,
#[serde(rename = "abandoned")]
Abandoned,
}
}
#[doc = "Represents the context of variables and vectors for a job request."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobEnvironment {
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub endpoints: Vec<ServiceEndpoint>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub mask: Vec<MaskHint>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<serde_json::Value>,
#[serde(
rename = "secureFiles",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub secure_files: Vec<SecureFile>,
#[doc = "Represents an endpoint which may be used by an orchestration job."]
#[serde(
rename = "systemConnection",
default,
skip_serializing_if = "Option::is_none"
)]
pub system_connection: Option<ServiceEndpoint>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub variables: Option<serde_json::Value>,
}
impl JobEnvironment {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobEvent {
#[serde(rename = "jobId", default, skip_serializing_if = "Option::is_none")]
pub job_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl JobEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobEventConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
}
impl JobEventConfig {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobEventsConfig {
#[serde(flatten)]
pub events_config: EventsConfig,
#[doc = ""]
#[serde(
rename = "jobAssigned",
default,
skip_serializing_if = "Option::is_none"
)]
pub job_assigned: Option<JobEventConfig>,
#[doc = ""]
#[serde(
rename = "jobCompleted",
default,
skip_serializing_if = "Option::is_none"
)]
pub job_completed: Option<JobEventConfig>,
#[doc = ""]
#[serde(
rename = "jobStarted",
default,
skip_serializing_if = "Option::is_none"
)]
pub job_started: Option<JobEventConfig>,
}
impl JobEventsConfig {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobMetadataEvent {
#[serde(flatten)]
pub job_event: JobEvent,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<JobMetadataMessage>,
}
impl JobMetadataEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobMetadataMessage {
#[serde(rename = "jobId", default, skip_serializing_if = "Option::is_none")]
pub job_id: Option<String>,
#[serde(
rename = "postLinesFrequencyMillis",
default,
skip_serializing_if = "Option::is_none"
)]
pub post_lines_frequency_millis: Option<i32>,
}
impl JobMetadataMessage {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Represents an option that may affect the way an agent runs the job."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobOption {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<serde_json::Value>,
#[doc = "Gets the id of the option."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
}
impl JobOption {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobRequestMessage {
#[doc = "Represents the context of variables and vectors for a job request."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub environment: Option<JobEnvironment>,
#[serde(rename = "jobId", default, skip_serializing_if = "Option::is_none")]
pub job_id: Option<String>,
#[serde(rename = "jobName", default, skip_serializing_if = "Option::is_none")]
pub job_name: Option<String>,
#[serde(
rename = "jobRefName",
default,
skip_serializing_if = "Option::is_none"
)]
pub job_ref_name: Option<String>,
#[serde(
rename = "messageType",
default,
skip_serializing_if = "Option::is_none"
)]
pub message_type: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub plan: Option<TaskOrchestrationPlanReference>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeline: Option<TimelineReference>,
}
impl JobRequestMessage {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct JobStartedEvent {
#[serde(flatten)]
pub job_event: JobEvent,
}
impl JobStartedEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct KubernetesResource {
#[serde(flatten)]
pub environment_resource: EnvironmentResource,
#[serde(
rename = "clusterName",
default,
skip_serializing_if = "Option::is_none"
)]
pub cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(
rename = "serviceEndpointId",
default,
skip_serializing_if = "Option::is_none"
)]
pub service_endpoint_id: Option<String>,
}
impl KubernetesResource {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct KubernetesResourceCreateParameters {
#[serde(
rename = "clusterName",
default,
skip_serializing_if = "Option::is_none"
)]
pub cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[doc = "Tags of the kubernetes resource."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub tags: Vec<String>,
}
impl KubernetesResourceCreateParameters {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct KubernetesResourceCreateParametersExistingEndpoint {
#[serde(flatten)]
pub kubernetes_resource_create_parameters: KubernetesResourceCreateParameters,
#[serde(
rename = "serviceEndpointId",
default,
skip_serializing_if = "Option::is_none"
)]
pub service_endpoint_id: Option<String>,
}
impl KubernetesResourceCreateParametersExistingEndpoint {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct KubernetesResourceCreateParametersNewEndpoint {
#[serde(flatten)]
pub kubernetes_resource_create_parameters: KubernetesResourceCreateParameters,
#[doc = "Represents an endpoint which may be used by an orchestration job."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<ServiceEndpoint>,
}
impl KubernetesResourceCreateParametersNewEndpoint {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct KubernetesResourcePatchParameters {
#[serde(
rename = "authorizationParameters",
default,
skip_serializing_if = "Option::is_none"
)]
pub authorization_parameters: Option<serde_json::Value>,
#[doc = "Provider type (CustomProvider or AzureKubernetesServiceProvider) of the resource to be updated"]
#[serde(
rename = "providerType",
default,
skip_serializing_if = "Option::is_none"
)]
pub provider_type: Option<String>,
#[serde(
rename = "resourceId",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_id: Option<i32>,
}
impl KubernetesResourcePatchParameters {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Represents a purchase of resource units in a secondary marketplace."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MarketplacePurchasedLicense {
#[doc = "The Marketplace display name."]
#[serde(
rename = "marketplaceName",
default,
skip_serializing_if = "Option::is_none"
)]
pub marketplace_name: Option<String>,
#[doc = "The name of the identity making the purchase as seen by the marketplace"]
#[serde(
rename = "purchaserName",
default,
skip_serializing_if = "Option::is_none"
)]
pub purchaser_name: Option<String>,
#[doc = "The quantity purchased."]
#[serde(
rename = "purchaseUnitCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub purchase_unit_count: Option<i32>,
}
impl MarketplacePurchasedLicense {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MaskHint {
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<mask_hint::Type>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl MaskHint {
pub fn new() -> Self {
Self::default()
}
}
pub mod mask_hint {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "variable")]
Variable,
#[serde(rename = "regex")]
Regex,
}
}
#[doc = "Meta data for a metrics column."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MetricsColumnMetaData {
#[doc = "Name."]
#[serde(
rename = "columnName",
default,
skip_serializing_if = "Option::is_none"
)]
pub column_name: Option<String>,
#[doc = "Data type."]
#[serde(
rename = "columnValueType",
default,
skip_serializing_if = "Option::is_none"
)]
pub column_value_type: Option<String>,
}
impl MetricsColumnMetaData {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Metrics columns header"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MetricsColumnsHeader {
#[doc = "Properties of deployment group for which metrics are provided. E.g. 1: LastJobStatus E.g. 2: TargetState"]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub dimensions: Vec<MetricsColumnMetaData>,
#[doc = "The types of metrics. E.g. 1: total count of deployment targets. E.g. 2: Average time of deployment to the deployment targets."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub metrics: Vec<MetricsColumnMetaData>,
}
impl MetricsColumnsHeader {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Metrics row."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MetricsRow {
#[doc = "The values of the properties mentioned as 'Dimensions' in column header. E.g. 1: For a property 'LastJobStatus' - metrics will be provided for 'passed', 'failed', etc. E.g. 2: For a property 'TargetState' - metrics will be provided for 'online', 'offline' targets."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub dimensions: Vec<String>,
#[doc = "Metrics in serialized format. Should be deserialized based on the data type provided in header."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub metrics: Vec<String>,
}
impl MetricsRow {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Represents a downloadable package."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct PackageMetadata {
#[doc = "The date the package was created"]
#[serde(
rename = "createdOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub created_on: Option<time::OffsetDateTime>,
#[doc = "A direct link to download the package."]
#[serde(
rename = "downloadUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub download_url: Option<String>,
#[doc = "The UI uses this to display instructions, i.e. \"unzip MyAgent.zip\""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filename: Option<String>,
#[doc = "MD5 hash as a base64 string"]
#[serde(rename = "hashValue", default, skip_serializing_if = "Option::is_none")]
pub hash_value: Option<String>,
#[doc = "A link to documentation"]
#[serde(rename = "infoUrl", default, skip_serializing_if = "Option::is_none")]
pub info_url: Option<String>,
#[doc = "The platform (win7, linux, etc.)"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub platform: Option<String>,
#[doc = "The type of package (e.g. \"agent\")"]
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<PackageVersion>,
}
impl PackageMetadata {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct PackageVersion {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub major: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub minor: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub patch: Option<i32>,
}
impl PackageVersion {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct PlanEnvironment {
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub mask: Vec<MaskHint>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub variables: Option<serde_json::Value>,
}
impl PlanEnvironment {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ProjectReference {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl ProjectReference {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "The class represents a property bag as a collection of key-value pairs. Values of all primitive types (any type with a `TypeCode != TypeCode.Object`) except for `DBNull` are accepted. Values of type Byte[], Int32, Double, DateType and String preserve their type, other primitives are retuned as a String. Byte[] expected as base64 encoded string."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct PropertiesCollection {
#[doc = "The count of properties in the collection."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item: Option<serde_json::Value>,
#[doc = "The set of keys in the collection."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub keys: Vec<String>,
#[doc = "The set of values in the collection."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub values: Vec<String>,
}
impl PropertiesCollection {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct PublishTaskGroupMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[serde(
rename = "parentDefinitionRevision",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_definition_revision: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub preview: Option<bool>,
#[serde(
rename = "taskGroupId",
default,
skip_serializing_if = "Option::is_none"
)]
pub task_group_id: Option<String>,
#[serde(
rename = "taskGroupRevision",
default,
skip_serializing_if = "Option::is_none"
)]
pub task_group_revision: Option<i32>,
}
impl PublishTaskGroupMetadata {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "The class to represent a collection of REST reference links."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ReferenceLinks {
#[doc = "The readonly view of the links. Because Reference links are readonly, we only want to expose them as read only."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub links: Option<serde_json::Value>,
}
impl ReferenceLinks {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourceFilterOptions {
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub identities: Vec<IdentityRef>,
#[serde(
rename = "resourceTypes",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub resource_types: Vec<String>,
}
impl ResourceFilterOptions {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourceFilters {
#[serde(
rename = "createdBy",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub created_by: Vec<String>,
#[serde(
rename = "resourceType",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub resource_type: Vec<String>,
#[serde(
rename = "searchText",
default,
skip_serializing_if = "Option::is_none"
)]
pub search_text: Option<String>,
}
impl ResourceFilters {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Resources include Service Connections, Variable Groups and Secure Files."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourceItem {
#[doc = ""]
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<IdentityRef>,
#[doc = "Gets or sets description of the resource."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Gets or sets icon url of the resource."]
#[serde(rename = "iconUrl", default, skip_serializing_if = "Option::is_none")]
pub icon_url: Option<String>,
#[doc = "Gets or sets Id of the resource."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[doc = "Indicates whether resource is shared with other projects or not."]
#[serde(rename = "isShared", default, skip_serializing_if = "Option::is_none")]
pub is_shared: Option<bool>,
#[doc = "Gets or sets name of the resource."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Gets or sets internal properties of the resource."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
#[doc = "Gets or sets resource type."]
#[serde(
rename = "resourceType",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_type: Option<String>,
}
impl ResourceItem {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourceLimit {
#[serde(
rename = "failedToReachAllProviders",
default,
skip_serializing_if = "Option::is_none"
)]
pub failed_to_reach_all_providers: Option<bool>,
#[serde(rename = "hostId", default, skip_serializing_if = "Option::is_none")]
pub host_id: Option<String>,
#[serde(rename = "isHosted", default, skip_serializing_if = "Option::is_none")]
pub is_hosted: Option<bool>,
#[serde(rename = "isPremium", default, skip_serializing_if = "Option::is_none")]
pub is_premium: Option<bool>,
#[serde(
rename = "parallelismTag",
default,
skip_serializing_if = "Option::is_none"
)]
pub parallelism_tag: Option<String>,
#[serde(
rename = "resourceLimitsData",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_limits_data: Option<serde_json::Value>,
#[serde(
rename = "totalCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub total_count: Option<i32>,
#[serde(
rename = "totalMinutes",
default,
skip_serializing_if = "Option::is_none"
)]
pub total_minutes: Option<i32>,
}
impl ResourceLimit {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "A request for a resource's exclusive lock"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourceLockRequest {
#[doc = "The date/time this request was assigned."]
#[serde(
rename = "assignTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub assign_time: Option<time::OffsetDateTime>,
#[doc = "The ID of the check run waiting on this request"]
#[serde(
rename = "checkRunId",
default,
skip_serializing_if = "Option::is_none"
)]
pub check_run_id: Option<String>,
#[doc = "The ID of the pipeline that requested this resource"]
#[serde(
rename = "definitionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub definition_id: Option<i32>,
#[doc = "The date/time this request was finished."]
#[serde(
rename = "finishTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub finish_time: Option<time::OffsetDateTime>,
#[doc = "The behavior this request should exhibit in relation to other lock requests"]
#[serde(rename = "lockType", default, skip_serializing_if = "Option::is_none")]
pub lock_type: Option<resource_lock_request::LockType>,
#[doc = "Attempt of the graph node"]
#[serde(
rename = "nodeAttempt",
default,
skip_serializing_if = "Option::is_none"
)]
pub node_attempt: Option<i32>,
#[doc = "Name of the graph node (currently stage) requesting this resource"]
#[serde(rename = "nodeName", default, skip_serializing_if = "Option::is_none")]
pub node_name: Option<String>,
#[doc = "Internal ID for the orchestration plan connected with this request."]
#[serde(rename = "planId", default, skip_serializing_if = "Option::is_none")]
pub plan_id: Option<String>,
#[doc = "The ID of the project of the check run and definition exist in"]
#[serde(rename = "projectId", default, skip_serializing_if = "Option::is_none")]
pub project_id: Option<String>,
#[doc = "The date/time this request was queued."]
#[serde(
rename = "queueTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub queue_time: Option<time::OffsetDateTime>,
#[doc = "ID of the request."]
#[serde(rename = "requestId", default, skip_serializing_if = "Option::is_none")]
pub request_id: Option<i64>,
#[doc = "The id of the resource"]
#[serde(
rename = "resourceId",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_id: Option<String>,
#[doc = "The type of the resource"]
#[serde(
rename = "resourceType",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_type: Option<String>,
#[doc = "The result of this request."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<resource_lock_request::Status>,
}
impl ResourceLockRequest {
pub fn new() -> Self {
Self::default()
}
}
pub mod resource_lock_request {
use super::*;
#[doc = "The behavior this request should exhibit in relation to other lock requests"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum LockType {
#[serde(rename = "runLatest")]
RunLatest,
#[serde(rename = "sequential")]
Sequential,
}
#[doc = "The result of this request."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "queued")]
Queued,
#[serde(rename = "inUse")]
InUse,
#[serde(rename = "finished")]
Finished,
#[serde(rename = "timedOut")]
TimedOut,
#[serde(rename = "canceled")]
Canceled,
#[serde(rename = "abandoned")]
Abandoned,
#[serde(rename = "waitingOnChecks")]
WaitingOnChecks,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourceUsage {
#[doc = ""]
#[serde(
rename = "resourceLimit",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_limit: Option<ResourceLimit>,
#[serde(
rename = "runningRequests",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub running_requests: Vec<TaskAgentJobRequest>,
#[serde(rename = "usedCount", default, skip_serializing_if = "Option::is_none")]
pub used_count: Option<i32>,
#[serde(
rename = "usedMinutes",
default,
skip_serializing_if = "Option::is_none"
)]
pub used_minutes: Option<i32>,
}
impl ResourceUsage {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourcesHubData {
#[serde(
rename = "continuationToken",
default,
skip_serializing_if = "Option::is_none"
)]
pub continuation_token: Option<String>,
#[serde(
rename = "hasProjectLevelManagePermission",
default,
skip_serializing_if = "Option::is_none"
)]
pub has_project_level_manage_permission: Option<bool>,
#[doc = ""]
#[serde(
rename = "resourceFilterOptions",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_filter_options: Option<ResourceFilterOptions>,
#[doc = ""]
#[serde(
rename = "resourceFilters",
default,
skip_serializing_if = "Option::is_none"
)]
pub resource_filters: Option<ResourceFilters>,
#[serde(
rename = "resourceItems",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub resource_items: Vec<ResourceItem>,
}
impl ResourcesHubData {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResultTransformationDetails {
#[serde(
rename = "resultTemplate",
default,
skip_serializing_if = "Option::is_none"
)]
pub result_template: Option<String>,
}
impl ResultTransformationDetails {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SecureFile {
#[doc = ""]
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<IdentityRef>,
#[serde(
rename = "createdOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub created_on: Option<time::OffsetDateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[doc = ""]
#[serde(
rename = "modifiedBy",
default,
skip_serializing_if = "Option::is_none"
)]
pub modified_by: Option<IdentityRef>,
#[serde(
rename = "modifiedOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub modified_on: Option<time::OffsetDateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ticket: Option<String>,
}
impl SecureFile {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SecureFileEvent {
#[serde(rename = "eventType", default, skip_serializing_if = "Option::is_none")]
pub event_type: Option<String>,
#[serde(rename = "projectId", default, skip_serializing_if = "Option::is_none")]
pub project_id: Option<String>,
#[serde(
rename = "secureFiles",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub secure_files: Vec<SecureFile>,
}
impl SecureFileEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SendJobResponse {
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub events: Option<JobEventsConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub variables: Option<serde_json::Value>,
}
impl SendJobResponse {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServerExecutionDefinition {
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub events: Option<EventsConfig>,
#[serde(
rename = "handlerName",
default,
skip_serializing_if = "Option::is_none"
)]
pub handler_name: Option<String>,
}
impl ServerExecutionDefinition {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServerTaskRequestMessage {
#[serde(flatten)]
pub job_request_message: JobRequestMessage,
#[doc = ""]
#[serde(
rename = "taskDefinition",
default,
skip_serializing_if = "Option::is_none"
)]
pub task_definition: Option<TaskDefinition>,
#[doc = ""]
#[serde(
rename = "taskInstance",
default,
skip_serializing_if = "Option::is_none"
)]
pub task_instance: Option<TaskInstance>,
}
impl ServerTaskRequestMessage {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Represents an endpoint which may be used by an orchestration job."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServiceEndpoint {
#[doc = ""]
#[serde(
rename = "administratorsGroup",
default,
skip_serializing_if = "Option::is_none"
)]
pub administrators_group: Option<IdentityRef>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization: Option<EndpointAuthorization>,
#[doc = ""]
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<IdentityRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<serde_json::Value>,
#[doc = "Gets or sets the description of endpoint."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(
rename = "groupScopeId",
default,
skip_serializing_if = "Option::is_none"
)]
pub group_scope_id: Option<String>,
#[doc = "Gets or sets the identifier of this endpoint."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[doc = "EndPoint state indicator"]
#[serde(rename = "isReady", default, skip_serializing_if = "Option::is_none")]
pub is_ready: Option<bool>,
#[doc = "Indicates whether service endpoint is shared with other projects or not."]
#[serde(rename = "isShared", default, skip_serializing_if = "Option::is_none")]
pub is_shared: Option<bool>,
#[doc = "Gets or sets the friendly name of the endpoint."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Represents a JSON object."]
#[serde(
rename = "operationStatus",
default,
skip_serializing_if = "Option::is_none"
)]
pub operation_status: Option<JObject>,
#[doc = "Gets or sets the owner of the endpoint."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owner: Option<String>,
#[doc = ""]
#[serde(
rename = "readersGroup",
default,
skip_serializing_if = "Option::is_none"
)]
pub readers_group: Option<IdentityRef>,
#[doc = "Gets or sets the type of the endpoint."]
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[doc = "Gets or sets the url of the endpoint."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
impl ServiceEndpoint {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServiceEndpointAuthenticationScheme {
#[doc = "Gets or sets the authorization headers of service endpoint authentication scheme."]
#[serde(
rename = "authorizationHeaders",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub authorization_headers: Vec<AuthorizationHeader>,
#[doc = "Gets or sets the certificates of service endpoint authentication scheme."]
#[serde(
rename = "clientCertificates",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub client_certificates: Vec<ClientCertificate>,
#[doc = "Gets or sets the display name for the service endpoint authentication scheme."]
#[serde(
rename = "displayName",
default,
skip_serializing_if = "Option::is_none"
)]
pub display_name: Option<String>,
#[doc = "Gets or sets the input descriptors for the service endpoint authentication scheme."]
#[serde(
rename = "inputDescriptors",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub input_descriptors: Vec<InputDescriptor>,
#[doc = "Gets or sets the scheme for service endpoint authentication."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
impl ServiceEndpointAuthenticationScheme {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServiceEndpointDetails {
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization: Option<EndpointAuthorization>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<serde_json::Value>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
impl ServiceEndpointDetails {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Represents service endpoint execution data."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServiceEndpointExecutionData {
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub definition: Option<TaskOrchestrationOwner>,
#[doc = "Gets the finish time of service endpoint execution."]
#[serde(
rename = "finishTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub finish_time: Option<time::OffsetDateTime>,
#[doc = "Gets the Id of service endpoint execution data."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owner: Option<TaskOrchestrationOwner>,
#[doc = "Gets the plan type of service endpoint execution data."]
#[serde(rename = "planType", default, skip_serializing_if = "Option::is_none")]
pub plan_type: Option<String>,
#[doc = "Gets the result of service endpoint execution."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<service_endpoint_execution_data::Result>,
#[doc = "Gets the start time of service endpoint execution."]
#[serde(
rename = "startTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub start_time: Option<time::OffsetDateTime>,
}
impl ServiceEndpointExecutionData {
pub fn new() -> Self {
Self::default()
}
}
pub mod service_endpoint_execution_data {
use super::*;
#[doc = "Gets the result of service endpoint execution."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Result {
#[serde(rename = "succeeded")]
Succeeded,
#[serde(rename = "succeededWithIssues")]
SucceededWithIssues,
#[serde(rename = "failed")]
Failed,
#[serde(rename = "canceled")]
Canceled,
#[serde(rename = "skipped")]
Skipped,
#[serde(rename = "abandoned")]
Abandoned,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServiceEndpointExecutionRecord {
#[doc = "Represents service endpoint execution data."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<ServiceEndpointExecutionData>,
#[doc = "Gets the Id of service endpoint."]
#[serde(
rename = "endpointId",
default,
skip_serializing_if = "Option::is_none"
)]
pub endpoint_id: Option<String>,
}
impl ServiceEndpointExecutionRecord {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServiceEndpointExecutionRecordsInput {
#[doc = "Represents service endpoint execution data."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<ServiceEndpointExecutionData>,
#[serde(
rename = "endpointIds",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub endpoint_ids: Vec<String>,
}
impl ServiceEndpointExecutionRecordsInput {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServiceEndpointRequest {
#[doc = ""]
#[serde(
rename = "dataSourceDetails",
default,
skip_serializing_if = "Option::is_none"
)]
pub data_source_details: Option<DataSourceDetails>,
#[doc = ""]
#[serde(
rename = "resultTransformationDetails",
default,
skip_serializing_if = "Option::is_none"
)]
pub result_transformation_details: Option<ResultTransformationDetails>,
#[doc = ""]
#[serde(
rename = "serviceEndpointDetails",
default,
skip_serializing_if = "Option::is_none"
)]
pub service_endpoint_details: Option<ServiceEndpointDetails>,
}
impl ServiceEndpointRequest {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServiceEndpointRequestResult {
#[serde(
rename = "errorMessage",
default,
skip_serializing_if = "Option::is_none"
)]
pub error_message: Option<String>,
#[doc = "Represents an abstract JSON token."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<JToken>,
#[serde(
rename = "statusCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_code: Option<service_endpoint_request_result::StatusCode>,
}
impl ServiceEndpointRequestResult {
pub fn new() -> Self {
Self::default()
}
}
pub mod service_endpoint_request_result {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum StatusCode {
#[serde(rename = "continue")]
Continue,
#[serde(rename = "switchingProtocols")]
SwitchingProtocols,
#[serde(rename = "ok")]
Ok,
#[serde(rename = "created")]
Created,
#[serde(rename = "accepted")]
Accepted,
#[serde(rename = "nonAuthoritativeInformation")]
NonAuthoritativeInformation,
#[serde(rename = "noContent")]
NoContent,
#[serde(rename = "resetContent")]
ResetContent,
#[serde(rename = "partialContent")]
PartialContent,
#[serde(rename = "multipleChoices")]
MultipleChoices,
#[serde(rename = "ambiguous")]
Ambiguous,
#[serde(rename = "movedPermanently")]
MovedPermanently,
#[serde(rename = "moved")]
Moved,
#[serde(rename = "found")]
Found,
#[serde(rename = "redirect")]
Redirect,
#[serde(rename = "seeOther")]
SeeOther,
#[serde(rename = "redirectMethod")]
RedirectMethod,
#[serde(rename = "notModified")]
NotModified,
#[serde(rename = "useProxy")]
UseProxy,
#[serde(rename = "unused")]
Unused,
#[serde(rename = "temporaryRedirect")]
TemporaryRedirect,
#[serde(rename = "redirectKeepVerb")]
RedirectKeepVerb,
#[serde(rename = "badRequest")]
BadRequest,
#[serde(rename = "unauthorized")]
Unauthorized,
#[serde(rename = "paymentRequired")]
PaymentRequired,
#[serde(rename = "forbidden")]
Forbidden,
#[serde(rename = "notFound")]
NotFound,
#[serde(rename = "methodNotAllowed")]
MethodNotAllowed,
#[serde(rename = "notAcceptable")]
NotAcceptable,
#[serde(rename = "proxyAuthenticationRequired")]
ProxyAuthenticationRequired,
#[serde(rename = "requestTimeout")]
RequestTimeout,
#[serde(rename = "conflict")]
Conflict,
#[serde(rename = "gone")]
Gone,
#[serde(rename = "lengthRequired")]
LengthRequired,
#[serde(rename = "preconditionFailed")]
PreconditionFailed,
#[serde(rename = "requestEntityTooLarge")]
RequestEntityTooLarge,
#[serde(rename = "requestUriTooLong")]
RequestUriTooLong,
#[serde(rename = "unsupportedMediaType")]
UnsupportedMediaType,
#[serde(rename = "requestedRangeNotSatisfiable")]
RequestedRangeNotSatisfiable,
#[serde(rename = "expectationFailed")]
ExpectationFailed,
#[serde(rename = "upgradeRequired")]
UpgradeRequired,
#[serde(rename = "internalServerError")]
InternalServerError,
#[serde(rename = "notImplemented")]
NotImplemented,
#[serde(rename = "badGateway")]
BadGateway,
#[serde(rename = "serviceUnavailable")]
ServiceUnavailable,
#[serde(rename = "gatewayTimeout")]
GatewayTimeout,
#[serde(rename = "httpVersionNotSupported")]
HttpVersionNotSupported,
}
}
#[doc = "Represents type of the service endpoint."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServiceEndpointType {
#[doc = "Authentication scheme of service endpoint type."]
#[serde(
rename = "authenticationSchemes",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub authentication_schemes: Vec<ServiceEndpointAuthenticationScheme>,
#[doc = "Data sources of service endpoint type."]
#[serde(
rename = "dataSources",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub data_sources: Vec<DataSource>,
#[doc = "Dependency data of service endpoint type."]
#[serde(
rename = "dependencyData",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub dependency_data: Vec<DependencyData>,
#[doc = "Gets or sets the description of service endpoint type."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Gets or sets the display name of service endpoint type."]
#[serde(
rename = "displayName",
default,
skip_serializing_if = "Option::is_none"
)]
pub display_name: Option<String>,
#[doc = "Represents url of the service endpoint."]
#[serde(
rename = "endpointUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub endpoint_url: Option<EndpointUrl>,
#[doc = ""]
#[serde(rename = "helpLink", default, skip_serializing_if = "Option::is_none")]
pub help_link: Option<HelpLink>,
#[serde(
rename = "helpMarkDown",
default,
skip_serializing_if = "Option::is_none"
)]
pub help_mark_down: Option<String>,
#[doc = "Gets or sets the icon url of service endpoint type."]
#[serde(rename = "iconUrl", default, skip_serializing_if = "Option::is_none")]
pub icon_url: Option<String>,
#[doc = "Input descriptor of service endpoint type."]
#[serde(
rename = "inputDescriptors",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub input_descriptors: Vec<InputDescriptor>,
#[doc = "Gets or sets the name of service endpoint type."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Trusted hosts of a service endpoint type."]
#[serde(
rename = "trustedHosts",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub trusted_hosts: Vec<String>,
#[doc = "Gets or sets the ui contribution id of service endpoint type."]
#[serde(
rename = "uiContributionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub ui_contribution_id: Option<String>,
}
impl ServiceEndpointType {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "A task agent."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgent {
#[serde(flatten)]
pub task_agent_reference: TaskAgentReference,
#[doc = ""]
#[serde(
rename = "assignedAgentCloudRequest",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_agent_cloud_request: Option<TaskAgentCloudRequest>,
#[doc = "A job request for an agent."]
#[serde(
rename = "assignedRequest",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_request: Option<TaskAgentJobRequest>,
#[doc = "Provides data necessary for authorizing the agent using OAuth 2.0 authentication flows."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization: Option<TaskAgentAuthorization>,
#[doc = "Date on which this agent was created."]
#[serde(
rename = "createdOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub created_on: Option<time::OffsetDateTime>,
#[doc = "A job request for an agent."]
#[serde(
rename = "lastCompletedRequest",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_completed_request: Option<TaskAgentJobRequest>,
#[doc = "Maximum job parallelism allowed for this agent."]
#[serde(
rename = "maxParallelism",
default,
skip_serializing_if = "Option::is_none"
)]
pub max_parallelism: Option<i32>,
#[doc = "Details about an agent update."]
#[serde(
rename = "pendingUpdate",
default,
skip_serializing_if = "Option::is_none"
)]
pub pending_update: Option<TaskAgentUpdate>,
#[doc = "The class represents a property bag as a collection of key-value pairs. Values of all primitive types (any type with a `TypeCode != TypeCode.Object`) except for `DBNull` are accepted. Values of type Byte[], Int32, Double, DateType and String preserve their type, other primitives are retuned as a String. Byte[] expected as base64 encoded string."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<PropertiesCollection>,
#[doc = "Date on which the last connectivity status change occurred."]
#[serde(
rename = "statusChangedOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub status_changed_on: Option<time::OffsetDateTime>,
#[doc = "System-defined capabilities supported by this agent's host. Warning: To set capabilities use the PUT method, PUT will completely overwrite existing capabilities."]
#[serde(
rename = "systemCapabilities",
default,
skip_serializing_if = "Option::is_none"
)]
pub system_capabilities: Option<serde_json::Value>,
#[doc = "User-defined capabilities supported by this agent's host. Warning: To set capabilities use the PUT method, PUT will completely overwrite existing capabilities."]
#[serde(
rename = "userCapabilities",
default,
skip_serializing_if = "Option::is_none"
)]
pub user_capabilities: Option<serde_json::Value>,
}
impl TaskAgent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Provides data necessary for authorizing the agent using OAuth 2.0 authentication flows."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentAuthorization {
#[doc = "Endpoint used to obtain access tokens from the configured token service."]
#[serde(
rename = "authorizationUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub authorization_url: Option<String>,
#[doc = "Client identifier for this agent."]
#[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[doc = "Represents the public key portion of an RSA asymmetric key."]
#[serde(rename = "publicKey", default, skip_serializing_if = "Option::is_none")]
pub public_key: Option<TaskAgentPublicKey>,
}
impl TaskAgentAuthorization {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentCloud {
#[doc = "Gets or sets a AcquireAgentEndpoint using which a request can be made to acquire new agent"]
#[serde(
rename = "acquireAgentEndpoint",
default,
skip_serializing_if = "Option::is_none"
)]
pub acquire_agent_endpoint: Option<String>,
#[serde(
rename = "acquisitionTimeout",
default,
skip_serializing_if = "Option::is_none"
)]
pub acquisition_timeout: Option<i32>,
#[serde(
rename = "agentCloudId",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_cloud_id: Option<i32>,
#[serde(
rename = "getAccountParallelismEndpoint",
default,
skip_serializing_if = "Option::is_none"
)]
pub get_account_parallelism_endpoint: Option<String>,
#[serde(
rename = "getAgentDefinitionEndpoint",
default,
skip_serializing_if = "Option::is_none"
)]
pub get_agent_definition_endpoint: Option<String>,
#[serde(
rename = "getAgentRequestStatusEndpoint",
default,
skip_serializing_if = "Option::is_none"
)]
pub get_agent_request_status_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[doc = "Signifies that this Agent Cloud is internal and should not be user-manageable"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub internal: Option<bool>,
#[serde(
rename = "maxParallelism",
default,
skip_serializing_if = "Option::is_none"
)]
pub max_parallelism: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "releaseAgentEndpoint",
default,
skip_serializing_if = "Option::is_none"
)]
pub release_agent_endpoint: Option<String>,
#[serde(
rename = "sharedSecret",
default,
skip_serializing_if = "Option::is_none"
)]
pub shared_secret: Option<String>,
#[doc = "Gets or sets the type of the endpoint."]
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
impl TaskAgentCloud {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentCloudList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<TaskAgentCloud>,
}
impl TaskAgentCloudList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentCloudRequest {
#[doc = "A reference to an agent."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<TaskAgentReference>,
#[serde(
rename = "agentCloudId",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_cloud_id: Option<i32>,
#[serde(
rename = "agentConnectedTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub agent_connected_time: Option<time::OffsetDateTime>,
#[doc = "Represents a JSON object."]
#[serde(rename = "agentData", default, skip_serializing_if = "Option::is_none")]
pub agent_data: Option<JObject>,
#[doc = "Represents a JSON object."]
#[serde(
rename = "agentSpecification",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_specification: Option<JObject>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<TaskAgentPoolReference>,
#[serde(
rename = "provisionedTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub provisioned_time: Option<time::OffsetDateTime>,
#[serde(
rename = "provisionRequestTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub provision_request_time: Option<time::OffsetDateTime>,
#[serde(
rename = "releaseRequestTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub release_request_time: Option<time::OffsetDateTime>,
#[serde(rename = "requestId", default, skip_serializing_if = "Option::is_none")]
pub request_id: Option<String>,
}
impl TaskAgentCloudRequest {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentCloudRequestList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<TaskAgentCloudRequest>,
}
impl TaskAgentCloudRequestList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentCloudType {
#[doc = "Gets or sets the display name of agent cloud type."]
#[serde(
rename = "displayName",
default,
skip_serializing_if = "Option::is_none"
)]
pub display_name: Option<String>,
#[doc = "Gets or sets the input descriptors"]
#[serde(
rename = "inputDescriptors",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub input_descriptors: Vec<InputDescriptor>,
#[doc = "Gets or sets the name of agent cloud type."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl TaskAgentCloudType {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentCloudTypeList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<TaskAgentCloudType>,
}
impl TaskAgentCloudTypeList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentDowngrade {
#[serde(flatten)]
pub task_agent_update_reason: TaskAgentUpdateReason,
}
impl TaskAgentDowngrade {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentJob {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub container: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "sidecarContainers",
default,
skip_serializing_if = "Option::is_none"
)]
pub sidecar_containers: Option<serde_json::Value>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub steps: Vec<TaskAgentJobStep>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub variables: Vec<TaskAgentJobVariable>,
}
impl TaskAgentJob {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "A job request for an agent."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentJobRequest {
#[doc = "Represents a JSON object."]
#[serde(
rename = "agentSpecification",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_specification: Option<JObject>,
#[doc = "The date/time this request was assigned."]
#[serde(
rename = "assignTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub assign_time: Option<time::OffsetDateTime>,
#[doc = "Additional data about the request."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<serde_json::Value>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub definition: Option<TaskOrchestrationOwner>,
#[doc = "A list of demands required to fulfill this request."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub demands: Vec<Demand>,
#[doc = "The date/time this request was finished."]
#[serde(
rename = "finishTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub finish_time: Option<time::OffsetDateTime>,
#[doc = "The host which triggered this request."]
#[serde(rename = "hostId", default, skip_serializing_if = "Option::is_none")]
pub host_id: Option<String>,
#[doc = "ID of the job resulting from this request."]
#[serde(rename = "jobId", default, skip_serializing_if = "Option::is_none")]
pub job_id: Option<String>,
#[doc = "Name of the job resulting from this request."]
#[serde(rename = "jobName", default, skip_serializing_if = "Option::is_none")]
pub job_name: Option<String>,
#[doc = "The deadline for the agent to renew the lock."]
#[serde(
rename = "lockedUntil",
default,
with = "crate::date_time::rfc3339::option"
)]
pub locked_until: Option<time::OffsetDateTime>,
#[serde(
rename = "matchedAgents",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub matched_agents: Vec<TaskAgentReference>,
#[serde(
rename = "matchesAllAgentsInPool",
default,
skip_serializing_if = "Option::is_none"
)]
pub matches_all_agents_in_pool: Option<bool>,
#[serde(
rename = "orchestrationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub orchestration_id: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owner: Option<TaskOrchestrationOwner>,
#[serde(rename = "planGroup", default, skip_serializing_if = "Option::is_none")]
pub plan_group: Option<String>,
#[doc = "Internal ID for the orchestration plan connected with this request."]
#[serde(rename = "planId", default, skip_serializing_if = "Option::is_none")]
pub plan_id: Option<String>,
#[doc = "Internal detail representing the type of orchestration plan."]
#[serde(rename = "planType", default, skip_serializing_if = "Option::is_none")]
pub plan_type: Option<String>,
#[doc = "The ID of the pool this request targets"]
#[serde(rename = "poolId", default, skip_serializing_if = "Option::is_none")]
pub pool_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub priority: Option<i32>,
#[doc = "The ID of the queue this request targets"]
#[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
pub queue_id: Option<i32>,
#[doc = "The date/time this request was queued."]
#[serde(
rename = "queueTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub queue_time: Option<time::OffsetDateTime>,
#[doc = "The date/time this request was receieved by an agent."]
#[serde(
rename = "receiveTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub receive_time: Option<time::OffsetDateTime>,
#[doc = "ID of the request."]
#[serde(rename = "requestId", default, skip_serializing_if = "Option::is_none")]
pub request_id: Option<i64>,
#[doc = "A reference to an agent."]
#[serde(
rename = "reservedAgent",
default,
skip_serializing_if = "Option::is_none"
)]
pub reserved_agent: Option<TaskAgentReference>,
#[doc = "The result of this request."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<task_agent_job_request::Result>,
#[doc = "Scope of the pipeline; matches the project ID."]
#[serde(rename = "scopeId", default, skip_serializing_if = "Option::is_none")]
pub scope_id: Option<String>,
#[doc = "The service which owns this request."]
#[serde(
rename = "serviceOwner",
default,
skip_serializing_if = "Option::is_none"
)]
pub service_owner: Option<String>,
#[serde(
rename = "statusMessage",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_message: Option<String>,
#[serde(
rename = "userDelayed",
default,
skip_serializing_if = "Option::is_none"
)]
pub user_delayed: Option<bool>,
}
impl TaskAgentJobRequest {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_agent_job_request {
use super::*;
#[doc = "The result of this request."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Result {
#[serde(rename = "succeeded")]
Succeeded,
#[serde(rename = "succeededWithIssues")]
SucceededWithIssues,
#[serde(rename = "failed")]
Failed,
#[serde(rename = "canceled")]
Canceled,
#[serde(rename = "skipped")]
Skipped,
#[serde(rename = "abandoned")]
Abandoned,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentJobStep {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub condition: Option<String>,
#[serde(
rename = "continueOnError",
default,
skip_serializing_if = "Option::is_none"
)]
pub continue_on_error: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inputs: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "retryCountOnTaskFailure",
default,
skip_serializing_if = "Option::is_none"
)]
pub retry_count_on_task_failure: Option<i32>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task: Option<TaskAgentJobTask>,
#[serde(
rename = "timeoutInMinutes",
default,
skip_serializing_if = "Option::is_none"
)]
pub timeout_in_minutes: Option<i32>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<task_agent_job_step::Type>,
}
impl TaskAgentJobStep {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_agent_job_step {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "task")]
Task,
#[serde(rename = "action")]
Action,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentJobTask {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
impl TaskAgentJobTask {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentJobVariable {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl TaskAgentJobVariable {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<TaskAgent>,
}
impl TaskAgentList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentManualUpdate {
#[serde(flatten)]
pub task_agent_update_reason: TaskAgentUpdateReason,
}
impl TaskAgentManualUpdate {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Provides a contract for receiving messages from the task orchestrator."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentMessage {
#[doc = "Gets or sets the body of the message. If the <c>IV</c> property is provided the body will need to be decrypted using the <c>TaskAgentSession.EncryptionKey</c> value in addition to the <c>IV</c>."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[doc = "Gets or sets the initialization vector used to encrypt this message."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub iv: Vec<String>,
#[doc = "Gets or sets the message identifier."]
#[serde(rename = "messageId", default, skip_serializing_if = "Option::is_none")]
pub message_id: Option<i64>,
#[doc = "Gets or sets the message type, describing the data contract found in <c>TaskAgentMessage.Body</c>."]
#[serde(
rename = "messageType",
default,
skip_serializing_if = "Option::is_none"
)]
pub message_type: Option<String>,
}
impl TaskAgentMessage {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentMinAgentVersionRequiredUpdate {
#[serde(flatten)]
pub task_agent_update_reason: TaskAgentUpdateReason,
#[doc = ""]
#[serde(
rename = "jobDefinition",
default,
skip_serializing_if = "Option::is_none"
)]
pub job_definition: Option<TaskOrchestrationOwner>,
#[doc = ""]
#[serde(rename = "jobOwner", default, skip_serializing_if = "Option::is_none")]
pub job_owner: Option<TaskOrchestrationOwner>,
#[doc = ""]
#[serde(
rename = "minAgentVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub min_agent_version: Option<Demand>,
}
impl TaskAgentMinAgentVersionRequiredUpdate {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "An organization-level grouping of agents."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentPool {
#[serde(flatten)]
pub task_agent_pool_reference: TaskAgentPoolReference,
#[doc = "The ID of the associated agent cloud."]
#[serde(
rename = "agentCloudId",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_cloud_id: Option<i32>,
#[doc = "Whether or not a queue should be automatically provisioned for each project collection."]
#[serde(
rename = "autoProvision",
default,
skip_serializing_if = "Option::is_none"
)]
pub auto_provision: Option<bool>,
#[doc = "Whether or not the pool should autosize itself based on the Agent Cloud Provider settings."]
#[serde(rename = "autoSize", default, skip_serializing_if = "Option::is_none")]
pub auto_size: Option<bool>,
#[doc = "Whether or not agents in this pool are allowed to automatically update"]
#[serde(
rename = "autoUpdate",
default,
skip_serializing_if = "Option::is_none"
)]
pub auto_update: Option<bool>,
#[doc = ""]
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<IdentityRef>,
#[doc = "The date/time of the pool creation."]
#[serde(
rename = "createdOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub created_on: Option<time::OffsetDateTime>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owner: Option<IdentityRef>,
#[doc = "The class represents a property bag as a collection of key-value pairs. Values of all primitive types (any type with a `TypeCode != TypeCode.Object`) except for `DBNull` are accepted. Values of type Byte[], Int32, Double, DateType and String preserve their type, other primitives are retuned as a String. Byte[] expected as base64 encoded string."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<PropertiesCollection>,
#[doc = "Target parallelism."]
#[serde(
rename = "targetSize",
default,
skip_serializing_if = "Option::is_none"
)]
pub target_size: Option<i32>,
}
impl TaskAgentPool {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentPoolList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<TaskAgentPool>,
}
impl TaskAgentPoolList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentPoolMaintenanceDefinition {
#[doc = "Enable maintenance"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[doc = "Id"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[doc = "Maintenance job timeout per agent"]
#[serde(
rename = "jobTimeoutInMinutes",
default,
skip_serializing_if = "Option::is_none"
)]
pub job_timeout_in_minutes: Option<i32>,
#[doc = "Max percentage of agents within a pool running maintenance job at given time"]
#[serde(
rename = "maxConcurrentAgentsPercentage",
default,
skip_serializing_if = "Option::is_none"
)]
pub max_concurrent_agents_percentage: Option<i32>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<TaskAgentPoolMaintenanceOptions>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<TaskAgentPoolReference>,
#[doc = ""]
#[serde(
rename = "retentionPolicy",
default,
skip_serializing_if = "Option::is_none"
)]
pub retention_policy: Option<TaskAgentPoolMaintenanceRetentionPolicy>,
#[doc = ""]
#[serde(
rename = "scheduleSetting",
default,
skip_serializing_if = "Option::is_none"
)]
pub schedule_setting: Option<TaskAgentPoolMaintenanceSchedule>,
}
impl TaskAgentPoolMaintenanceDefinition {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentPoolMaintenanceJob {
#[doc = "The maintenance definition for the maintenance job"]
#[serde(
rename = "definitionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub definition_id: Option<i32>,
#[doc = "The total error counts during the maintenance job"]
#[serde(
rename = "errorCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub error_count: Option<i32>,
#[doc = "Time that the maintenance job was completed"]
#[serde(
rename = "finishTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub finish_time: Option<time::OffsetDateTime>,
#[doc = "Id of the maintenance job"]
#[serde(rename = "jobId", default, skip_serializing_if = "Option::is_none")]
pub job_id: Option<i32>,
#[doc = "The log download url for the maintenance job"]
#[serde(
rename = "logsDownloadUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub logs_download_url: Option<String>,
#[doc = "Orchestration/Plan Id for the maintenance job"]
#[serde(
rename = "orchestrationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub orchestration_id: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<TaskAgentPoolReference>,
#[doc = "Time that the maintenance job was queued"]
#[serde(
rename = "queueTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub queue_time: Option<time::OffsetDateTime>,
#[doc = ""]
#[serde(
rename = "requestedBy",
default,
skip_serializing_if = "Option::is_none"
)]
pub requested_by: Option<IdentityRef>,
#[doc = "The maintenance job result"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<task_agent_pool_maintenance_job::Result>,
#[doc = "Time that the maintenance job was started"]
#[serde(
rename = "startTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub start_time: Option<time::OffsetDateTime>,
#[doc = "Status of the maintenance job"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<task_agent_pool_maintenance_job::Status>,
#[serde(
rename = "targetAgents",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub target_agents: Vec<TaskAgentPoolMaintenanceJobTargetAgent>,
#[doc = "The total warning counts during the maintenance job"]
#[serde(
rename = "warningCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub warning_count: Option<i32>,
}
impl TaskAgentPoolMaintenanceJob {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_agent_pool_maintenance_job {
use super::*;
#[doc = "The maintenance job result"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Result {
#[serde(rename = "succeeded")]
Succeeded,
#[serde(rename = "failed")]
Failed,
#[serde(rename = "canceled")]
Canceled,
}
#[doc = "Status of the maintenance job"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "inProgress")]
InProgress,
#[serde(rename = "completed")]
Completed,
#[serde(rename = "cancelling")]
Cancelling,
#[serde(rename = "queued")]
Queued,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentPoolMaintenanceJobTargetAgent {
#[doc = "A reference to an agent."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<TaskAgentReference>,
#[serde(rename = "jobId", default, skip_serializing_if = "Option::is_none")]
pub job_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<task_agent_pool_maintenance_job_target_agent::Result>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<task_agent_pool_maintenance_job_target_agent::Status>,
}
impl TaskAgentPoolMaintenanceJobTargetAgent {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_agent_pool_maintenance_job_target_agent {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Result {
#[serde(rename = "succeeded")]
Succeeded,
#[serde(rename = "failed")]
Failed,
#[serde(rename = "canceled")]
Canceled,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "inProgress")]
InProgress,
#[serde(rename = "completed")]
Completed,
#[serde(rename = "cancelling")]
Cancelling,
#[serde(rename = "queued")]
Queued,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentPoolMaintenanceOptions {
#[doc = "time to consider a System.DefaultWorkingDirectory is stale"]
#[serde(
rename = "workingDirectoryExpirationInDays",
default,
skip_serializing_if = "Option::is_none"
)]
pub working_directory_expiration_in_days: Option<i32>,
}
impl TaskAgentPoolMaintenanceOptions {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentPoolMaintenanceRetentionPolicy {
#[doc = "Number of records to keep for maintenance job executed with this definition."]
#[serde(
rename = "numberOfHistoryRecordsToKeep",
default,
skip_serializing_if = "Option::is_none"
)]
pub number_of_history_records_to_keep: Option<i32>,
}
impl TaskAgentPoolMaintenanceRetentionPolicy {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentPoolMaintenanceSchedule {
#[doc = "Days for a build (flags enum for days of the week)"]
#[serde(
rename = "daysToBuild",
default,
skip_serializing_if = "Option::is_none"
)]
pub days_to_build: Option<task_agent_pool_maintenance_schedule::DaysToBuild>,
#[doc = "The Job Id of the Scheduled job that will queue the pool maintenance job."]
#[serde(
rename = "scheduleJobId",
default,
skip_serializing_if = "Option::is_none"
)]
pub schedule_job_id: Option<String>,
#[doc = "Local timezone hour to start"]
#[serde(
rename = "startHours",
default,
skip_serializing_if = "Option::is_none"
)]
pub start_hours: Option<i32>,
#[doc = "Local timezone minute to start"]
#[serde(
rename = "startMinutes",
default,
skip_serializing_if = "Option::is_none"
)]
pub start_minutes: Option<i32>,
#[doc = "Time zone of the build schedule (string representation of the time zone id)"]
#[serde(
rename = "timeZoneId",
default,
skip_serializing_if = "Option::is_none"
)]
pub time_zone_id: Option<String>,
}
impl TaskAgentPoolMaintenanceSchedule {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_agent_pool_maintenance_schedule {
use super::*;
#[doc = "Days for a build (flags enum for days of the week)"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum DaysToBuild {
#[serde(rename = "none")]
None,
#[serde(rename = "monday")]
Monday,
#[serde(rename = "tuesday")]
Tuesday,
#[serde(rename = "wednesday")]
Wednesday,
#[serde(rename = "thursday")]
Thursday,
#[serde(rename = "friday")]
Friday,
#[serde(rename = "saturday")]
Saturday,
#[serde(rename = "sunday")]
Sunday,
#[serde(rename = "all")]
All,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentPoolReference {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[doc = "Gets or sets a value indicating whether or not this pool is managed by the service."]
#[serde(rename = "isHosted", default, skip_serializing_if = "Option::is_none")]
pub is_hosted: Option<bool>,
#[doc = "Determines whether the pool is legacy."]
#[serde(rename = "isLegacy", default, skip_serializing_if = "Option::is_none")]
pub is_legacy: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Additional pool settings and details"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<task_agent_pool_reference::Options>,
#[doc = "Gets or sets the type of the pool"]
#[serde(rename = "poolType", default, skip_serializing_if = "Option::is_none")]
pub pool_type: Option<task_agent_pool_reference::PoolType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[doc = "Gets the current size of the pool."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<i32>,
}
impl TaskAgentPoolReference {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_agent_pool_reference {
use super::*;
#[doc = "Additional pool settings and details"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Options {
#[serde(rename = "none")]
None,
#[serde(rename = "elasticPool")]
ElasticPool,
#[serde(rename = "singleUseAgents")]
SingleUseAgents,
#[serde(rename = "preserveAgentOnJobFailure")]
PreserveAgentOnJobFailure,
}
#[doc = "Gets or sets the type of the pool"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum PoolType {
#[serde(rename = "automation")]
Automation,
#[serde(rename = "deployment")]
Deployment,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentPoolStatus {
#[serde(flatten)]
pub task_agent_pool_reference: TaskAgentPoolReference,
#[doc = "Number of requests queued and assigned to an agent. Not running yet."]
#[serde(
rename = "assignedRequestCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_request_count: Option<i32>,
#[doc = "Number of queued requests which are not assigned to any agents"]
#[serde(
rename = "queuedRequestCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub queued_request_count: Option<i32>,
#[doc = "Number of currently running requests"]
#[serde(
rename = "runningRequestCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub running_request_count: Option<i32>,
}
impl TaskAgentPoolStatus {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentPoolSummary {
#[doc = "Metrics columns header"]
#[serde(
rename = "columnsHeader",
default,
skip_serializing_if = "Option::is_none"
)]
pub columns_header: Option<MetricsColumnsHeader>,
#[serde(
rename = "deploymentGroups",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub deployment_groups: Vec<DeploymentGroupReference>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<TaskAgentPoolReference>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub queues: Vec<TaskAgentQueue>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub rows: Vec<MetricsRow>,
}
impl TaskAgentPoolSummary {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Represents the public key portion of an RSA asymmetric key."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentPublicKey {
#[doc = "Gets or sets the exponent for the public key."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub exponent: Vec<String>,
#[doc = "Gets or sets the modulus for the public key."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub modulus: Vec<String>,
}
impl TaskAgentPublicKey {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "An agent queue."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentQueue {
#[doc = "ID of the queue"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[doc = "Name of the queue"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<TaskAgentPoolReference>,
#[doc = "Project ID"]
#[serde(rename = "projectId", default, skip_serializing_if = "Option::is_none")]
pub project_id: Option<String>,
}
impl TaskAgentQueue {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentQueueList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<TaskAgentQueue>,
}
impl TaskAgentQueueList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "A reference to an agent."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentReference {
#[doc = "The class to represent a collection of REST reference links."]
#[serde(rename = "_links", default, skip_serializing_if = "Option::is_none")]
pub links: Option<ReferenceLinks>,
#[doc = "This agent's access point."]
#[serde(
rename = "accessPoint",
default,
skip_serializing_if = "Option::is_none"
)]
pub access_point: Option<String>,
#[doc = "Whether or not this agent should run jobs."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[doc = "Identifier of the agent."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[doc = "Name of the agent."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Agent OS."]
#[serde(
rename = "osDescription",
default,
skip_serializing_if = "Option::is_none"
)]
pub os_description: Option<String>,
#[doc = "Provisioning state of this agent."]
#[serde(
rename = "provisioningState",
default,
skip_serializing_if = "Option::is_none"
)]
pub provisioning_state: Option<String>,
#[doc = "Whether or not the agent is online."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<task_agent_reference::Status>,
#[doc = "Agent version."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
impl TaskAgentReference {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_agent_reference {
use super::*;
#[doc = "Whether or not the agent is online."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "offline")]
Offline,
#[serde(rename = "online")]
Online,
}
}
#[doc = "Represents a session for performing message exchanges from an agent."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentSession {
#[doc = "A reference to an agent."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<TaskAgentReference>,
#[doc = "Represents a symmetric key used for message-level encryption for communication sent to an agent."]
#[serde(
rename = "encryptionKey",
default,
skip_serializing_if = "Option::is_none"
)]
pub encryption_key: Option<TaskAgentSessionKey>,
#[doc = "Gets or sets the owner name of this session. Generally this will be the machine of origination."]
#[serde(rename = "ownerName", default, skip_serializing_if = "Option::is_none")]
pub owner_name: Option<String>,
#[doc = "Gets the unique identifier for this session."]
#[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
pub session_id: Option<String>,
#[serde(
rename = "systemCapabilities",
default,
skip_serializing_if = "Option::is_none"
)]
pub system_capabilities: Option<serde_json::Value>,
}
impl TaskAgentSession {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Represents a symmetric key used for message-level encryption for communication sent to an agent."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentSessionKey {
#[doc = "Gets or sets a value indicating whether or not the key value is encrypted. If this value is true, the Value property should be decrypted using the <c>RSA</c> key exchanged with the server during registration."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub encrypted: Option<bool>,
#[doc = "Gets or sets the symmetric key value."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<String>,
}
impl TaskAgentSessionKey {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Details about an agent update."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentUpdate {
#[doc = "Current state of this agent update."]
#[serde(
rename = "currentState",
default,
skip_serializing_if = "Option::is_none"
)]
pub current_state: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reason: Option<TaskAgentUpdateReason>,
#[doc = ""]
#[serde(
rename = "requestedBy",
default,
skip_serializing_if = "Option::is_none"
)]
pub requested_by: Option<IdentityRef>,
#[doc = "Date on which this update was requested."]
#[serde(
rename = "requestTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub request_time: Option<time::OffsetDateTime>,
#[doc = ""]
#[serde(
rename = "sourceVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub source_version: Option<PackageVersion>,
#[doc = ""]
#[serde(
rename = "targetVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub target_version: Option<PackageVersion>,
}
impl TaskAgentUpdate {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAgentUpdateReason {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<task_agent_update_reason::Code>,
}
impl TaskAgentUpdateReason {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_agent_update_reason {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Code {
#[serde(rename = "manual")]
Manual,
#[serde(rename = "minAgentVersionRequired")]
MinAgentVersionRequired,
#[serde(rename = "downgrade")]
Downgrade,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAssignedEvent {
#[serde(flatten)]
pub task_event: TaskEvent,
}
impl TaskAssignedEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskAttachment {
#[doc = "The class to represent a collection of REST reference links."]
#[serde(rename = "_links", default, skip_serializing_if = "Option::is_none")]
pub links: Option<ReferenceLinks>,
#[serde(
rename = "createdOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub created_on: Option<time::OffsetDateTime>,
#[serde(
rename = "lastChangedBy",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_changed_by: Option<String>,
#[serde(
rename = "lastChangedOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub last_changed_on: Option<time::OffsetDateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "recordId", default, skip_serializing_if = "Option::is_none")]
pub record_id: Option<String>,
#[serde(
rename = "timelineId",
default,
skip_serializing_if = "Option::is_none"
)]
pub timeline_id: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
impl TaskAttachment {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskCommandRestrictions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<task_command_restrictions::Mode>,
}
impl TaskCommandRestrictions {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_command_restrictions {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Mode {
#[serde(rename = "any")]
Any,
#[serde(rename = "restricted")]
Restricted,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskCompletedEvent {
#[serde(flatten)]
pub task_event: TaskEvent,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<task_completed_event::Result>,
}
impl TaskCompletedEvent {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_completed_event {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Result {
#[serde(rename = "succeeded")]
Succeeded,
#[serde(rename = "succeededWithIssues")]
SucceededWithIssues,
#[serde(rename = "failed")]
Failed,
#[serde(rename = "canceled")]
Canceled,
#[serde(rename = "skipped")]
Skipped,
#[serde(rename = "abandoned")]
Abandoned,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskDefinition {
#[doc = ""]
#[serde(
rename = "agentExecution",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_execution: Option<TaskExecution>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub author: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category: Option<String>,
#[serde(
rename = "contentsUploaded",
default,
skip_serializing_if = "Option::is_none"
)]
pub contents_uploaded: Option<bool>,
#[serde(
rename = "contributionIdentifier",
default,
skip_serializing_if = "Option::is_none"
)]
pub contribution_identifier: Option<String>,
#[serde(
rename = "contributionVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub contribution_version: Option<String>,
#[serde(
rename = "dataSourceBindings",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub data_source_bindings: Vec<DataSourceBinding>,
#[serde(
rename = "definitionType",
default,
skip_serializing_if = "Option::is_none"
)]
pub definition_type: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub demands: Vec<Demand>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deprecated: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub execution: Option<serde_json::Value>,
#[serde(
rename = "friendlyName",
default,
skip_serializing_if = "Option::is_none"
)]
pub friendly_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub groups: Vec<TaskGroupDefinition>,
#[serde(
rename = "helpMarkDown",
default,
skip_serializing_if = "Option::is_none"
)]
pub help_mark_down: Option<String>,
#[serde(rename = "helpUrl", default, skip_serializing_if = "Option::is_none")]
pub help_url: Option<String>,
#[serde(rename = "hostType", default, skip_serializing_if = "Option::is_none")]
pub host_type: Option<String>,
#[serde(rename = "iconUrl", default, skip_serializing_if = "Option::is_none")]
pub icon_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub inputs: Vec<TaskInputDefinition>,
#[serde(
rename = "instanceNameFormat",
default,
skip_serializing_if = "Option::is_none"
)]
pub instance_name_format: Option<String>,
#[serde(
rename = "minimumAgentVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub minimum_agent_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "outputVariables",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub output_variables: Vec<TaskOutputVariable>,
#[serde(
rename = "packageLocation",
default,
skip_serializing_if = "Option::is_none"
)]
pub package_location: Option<String>,
#[serde(
rename = "packageType",
default,
skip_serializing_if = "Option::is_none"
)]
pub package_type: Option<String>,
#[serde(
rename = "postJobExecution",
default,
skip_serializing_if = "Option::is_none"
)]
pub post_job_execution: Option<serde_json::Value>,
#[serde(
rename = "preJobExecution",
default,
skip_serializing_if = "Option::is_none"
)]
pub pre_job_execution: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub preview: Option<bool>,
#[serde(
rename = "releaseNotes",
default,
skip_serializing_if = "Option::is_none"
)]
pub release_notes: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub restrictions: Option<TaskRestrictions>,
#[serde(
rename = "runsOn",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub runs_on: Vec<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub satisfies: Vec<String>,
#[serde(
rename = "serverOwned",
default,
skip_serializing_if = "Option::is_none"
)]
pub server_owned: Option<bool>,
#[serde(
rename = "showEnvironmentVariables",
default,
skip_serializing_if = "Option::is_none"
)]
pub show_environment_variables: Option<bool>,
#[serde(
rename = "sourceDefinitions",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub source_definitions: Vec<TaskSourceDefinition>,
#[serde(
rename = "sourceLocation",
default,
skip_serializing_if = "Option::is_none"
)]
pub source_location: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<TaskVersion>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub visibility: Vec<String>,
}
impl TaskDefinition {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskDefinitionEndpoint {
#[doc = "An ID that identifies a service connection to be used for authenticating endpoint requests."]
#[serde(
rename = "connectionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub connection_id: Option<String>,
#[doc = "An Json based keyselector to filter response returned by fetching the endpoint <c>Url</c>.A Json based keyselector must be prefixed with \"jsonpath:\". KeySelector can be used to specify the filter to get the keys for the values specified with Selector. <example> The following keyselector defines an Json for extracting nodes named 'ServiceName'. <code> endpoint.KeySelector = \"jsonpath://ServiceName\"; </code></example>"]
#[serde(
rename = "keySelector",
default,
skip_serializing_if = "Option::is_none"
)]
pub key_selector: Option<String>,
#[doc = "The scope as understood by Connected Services. Essentially, a project-id for now."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[doc = "An XPath/Json based selector to filter response returned by fetching the endpoint <c>Url</c>. An XPath based selector must be prefixed with the string \"xpath:\". A Json based selector must be prefixed with \"jsonpath:\". <example> The following selector defines an XPath for extracting nodes named 'ServiceName'. <code> endpoint.Selector = \"xpath://ServiceName\"; </code></example>"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<String>,
#[doc = "TaskId that this endpoint belongs to."]
#[serde(rename = "taskId", default, skip_serializing_if = "Option::is_none")]
pub task_id: Option<String>,
#[doc = "URL to GET."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
impl TaskDefinitionEndpoint {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskDefinitionReference {
#[doc = "Gets or sets the definition type. Values can be 'task' or 'metaTask'."]
#[serde(
rename = "definitionType",
default,
skip_serializing_if = "Option::is_none"
)]
pub definition_type: Option<String>,
#[doc = "Gets or sets the unique identifier of task."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[doc = "Gets or sets the version specification of task."]
#[serde(
rename = "versionSpec",
default,
skip_serializing_if = "Option::is_none"
)]
pub version_spec: Option<String>,
}
impl TaskDefinitionReference {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskEvent {
#[serde(flatten)]
pub job_event: JobEvent,
#[serde(rename = "taskId", default, skip_serializing_if = "Option::is_none")]
pub task_id: Option<String>,
}
impl TaskEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskExecution {
#[doc = ""]
#[serde(rename = "execTask", default, skip_serializing_if = "Option::is_none")]
pub exec_task: Option<TaskReference>,
#[doc = "If a task is going to run code, then this provides the type/script etc... information by platform. For example, it might look like. net45: { typeName: \"Microsoft.TeamFoundation.Automation.Tasks.PowerShellTask\", assemblyName: \"Microsoft.TeamFoundation.Automation.Tasks.PowerShell.dll\" } net20: { typeName: \"Microsoft.TeamFoundation.Automation.Tasks.PowerShellTask\", assemblyName: \"Microsoft.TeamFoundation.Automation.Tasks.PowerShell.dll\" } java: { jar: \"powershelltask.tasks.automation.teamfoundation.microsoft.com\", } node: { script: \"powershellhost.js\", }"]
#[serde(
rename = "platformInstructions",
default,
skip_serializing_if = "Option::is_none"
)]
pub platform_instructions: Option<serde_json::Value>,
}
impl TaskExecution {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskGroup {
#[serde(flatten)]
pub task_definition: TaskDefinition,
#[doc = "Gets or sets comment."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[doc = ""]
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<IdentityRef>,
#[doc = "Gets or sets date on which it got created."]
#[serde(
rename = "createdOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub created_on: Option<time::OffsetDateTime>,
#[doc = "Gets or sets as 'true' to indicate as deleted, 'false' otherwise."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[doc = ""]
#[serde(
rename = "modifiedBy",
default,
skip_serializing_if = "Option::is_none"
)]
pub modified_by: Option<IdentityRef>,
#[doc = "Gets or sets date on which it got modified."]
#[serde(
rename = "modifiedOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub modified_on: Option<time::OffsetDateTime>,
#[doc = "Gets or sets the owner."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owner: Option<String>,
#[doc = "Gets or sets parent task group Id. This is used while creating a draft task group."]
#[serde(
rename = "parentDefinitionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_definition_id: Option<String>,
#[doc = "Gets or sets revision."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revision: Option<i32>,
#[doc = "Gets or sets the tasks."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub tasks: Vec<TaskGroupStep>,
}
impl TaskGroup {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskGroupCreateParameter {
#[doc = "Sets author name of the task group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub author: Option<String>,
#[doc = "Sets category of the task group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category: Option<String>,
#[doc = "Sets description of the task group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Sets friendly name of the task group."]
#[serde(
rename = "friendlyName",
default,
skip_serializing_if = "Option::is_none"
)]
pub friendly_name: Option<String>,
#[doc = "Sets url icon of the task group."]
#[serde(rename = "iconUrl", default, skip_serializing_if = "Option::is_none")]
pub icon_url: Option<String>,
#[doc = "Sets input for the task group."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub inputs: Vec<TaskInputDefinition>,
#[doc = "Sets display name of the task group."]
#[serde(
rename = "instanceNameFormat",
default,
skip_serializing_if = "Option::is_none"
)]
pub instance_name_format: Option<String>,
#[doc = "Sets name of the task group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Sets parent task group Id. This is used while creating a draft task group."]
#[serde(
rename = "parentDefinitionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_definition_id: Option<String>,
#[doc = "Sets RunsOn of the task group. Value can be 'Agent', 'Server' or 'DeploymentGroup'."]
#[serde(
rename = "runsOn",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub runs_on: Vec<String>,
#[doc = "Sets tasks for the task group."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub tasks: Vec<TaskGroupStep>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<TaskVersion>,
}
impl TaskGroupCreateParameter {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskGroupDefinition {
#[serde(
rename = "displayName",
default,
skip_serializing_if = "Option::is_none"
)]
pub display_name: Option<String>,
#[serde(
rename = "isExpanded",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_expanded: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub tags: Vec<String>,
#[serde(
rename = "visibleRule",
default,
skip_serializing_if = "Option::is_none"
)]
pub visible_rule: Option<String>,
}
impl TaskGroupDefinition {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskGroupList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<TaskGroup>,
}
impl TaskGroupList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskGroupPublishPreviewParameter {
#[serde(flatten)]
pub task_group_update_properties_base: TaskGroupUpdatePropertiesBase,
#[doc = "This is to disable previous versions of task group upon publish"]
#[serde(
rename = "disablePriorVersions",
default,
skip_serializing_if = "Option::is_none"
)]
pub disable_prior_versions: Option<bool>,
#[doc = "Denotes if task group is in preview"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub preview: Option<bool>,
#[doc = "This is the revision of task group that is getting published"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revision: Option<i32>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<TaskVersion>,
}
impl TaskGroupPublishPreviewParameter {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskGroupRestoreParameter {
#[serde(flatten)]
pub task_group_update_properties_base: TaskGroupUpdatePropertiesBase,
#[doc = "This is to restore deleted Task Group"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub restore: Option<bool>,
}
impl TaskGroupRestoreParameter {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskGroupRevision {
#[doc = ""]
#[serde(rename = "changedBy", default, skip_serializing_if = "Option::is_none")]
pub changed_by: Option<IdentityRef>,
#[serde(
rename = "changedDate",
default,
with = "crate::date_time::rfc3339::option"
)]
pub changed_date: Option<time::OffsetDateTime>,
#[serde(
rename = "changeType",
default,
skip_serializing_if = "Option::is_none"
)]
pub change_type: Option<task_group_revision::ChangeType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[serde(rename = "fileId", default, skip_serializing_if = "Option::is_none")]
pub file_id: Option<i32>,
#[serde(
rename = "majorVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub major_version: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revision: Option<i32>,
#[serde(
rename = "taskGroupId",
default,
skip_serializing_if = "Option::is_none"
)]
pub task_group_id: Option<String>,
}
impl TaskGroupRevision {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_group_revision {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum ChangeType {
#[serde(rename = "add")]
Add,
#[serde(rename = "update")]
Update,
#[serde(rename = "delete")]
Delete,
#[serde(rename = "undelete")]
Undelete,
}
}
#[doc = "Represents tasks in the task group."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskGroupStep {
#[doc = "Gets or sets as 'true' to run the task always, 'false' otherwise."]
#[serde(rename = "alwaysRun", default, skip_serializing_if = "Option::is_none")]
pub always_run: Option<bool>,
#[doc = "Gets or sets condition for the task."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub condition: Option<String>,
#[doc = "Gets or sets as 'true' to continue on error, 'false' otherwise."]
#[serde(
rename = "continueOnError",
default,
skip_serializing_if = "Option::is_none"
)]
pub continue_on_error: Option<bool>,
#[doc = "Gets or sets the display name."]
#[serde(
rename = "displayName",
default,
skip_serializing_if = "Option::is_none"
)]
pub display_name: Option<String>,
#[doc = "Gets or sets as task is enabled or not."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[doc = "Gets dictionary of environment variables."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub environment: Option<serde_json::Value>,
#[doc = "Gets or sets dictionary of inputs."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inputs: Option<serde_json::Value>,
#[doc = "Gets or sets the maximum number of retries"]
#[serde(
rename = "retryCountOnTaskFailure",
default,
skip_serializing_if = "Option::is_none"
)]
pub retry_count_on_task_failure: Option<i32>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task: Option<TaskDefinitionReference>,
#[doc = "Gets or sets the maximum time, in minutes, that a task is allowed to execute on agent before being cancelled by server. A zero value indicates an infinite timeout."]
#[serde(
rename = "timeoutInMinutes",
default,
skip_serializing_if = "Option::is_none"
)]
pub timeout_in_minutes: Option<i32>,
}
impl TaskGroupStep {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskGroupUpdateParameter {
#[doc = "Sets author name of the task group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub author: Option<String>,
#[doc = "Sets category of the task group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category: Option<String>,
#[doc = "Sets comment of the task group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[doc = "Sets description of the task group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Sets friendly name of the task group."]
#[serde(
rename = "friendlyName",
default,
skip_serializing_if = "Option::is_none"
)]
pub friendly_name: Option<String>,
#[doc = "Sets url icon of the task group."]
#[serde(rename = "iconUrl", default, skip_serializing_if = "Option::is_none")]
pub icon_url: Option<String>,
#[doc = "Sets the unique identifier of this field."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[doc = "Sets input for the task group."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub inputs: Vec<TaskInputDefinition>,
#[doc = "Sets display name of the task group."]
#[serde(
rename = "instanceNameFormat",
default,
skip_serializing_if = "Option::is_none"
)]
pub instance_name_format: Option<String>,
#[doc = "Sets name of the task group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Gets or sets parent task group Id. This is used while creating a draft task group."]
#[serde(
rename = "parentDefinitionId",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_definition_id: Option<String>,
#[doc = "Sets revision of the task group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revision: Option<i32>,
#[doc = "Sets RunsOn of the task group. Value can be 'Agent', 'Server' or 'DeploymentGroup'."]
#[serde(
rename = "runsOn",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub runs_on: Vec<String>,
#[doc = "Sets tasks for the task group."]
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub tasks: Vec<TaskGroupStep>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<TaskVersion>,
}
impl TaskGroupUpdateParameter {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskGroupUpdatePropertiesBase {
#[doc = "Comment for this update request"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
}
impl TaskGroupUpdatePropertiesBase {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskHubLicenseDetails {
#[serde(
rename = "enterpriseUsersCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub enterprise_users_count: Option<i32>,
#[serde(
rename = "failedToReachAllProviders",
default,
skip_serializing_if = "Option::is_none"
)]
pub failed_to_reach_all_providers: Option<bool>,
#[serde(
rename = "freeHostedLicenseCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub free_hosted_license_count: Option<i32>,
#[serde(
rename = "freeLicenseCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub free_license_count: Option<i32>,
#[serde(
rename = "hasLicenseCountEverUpdated",
default,
skip_serializing_if = "Option::is_none"
)]
pub has_license_count_ever_updated: Option<bool>,
#[serde(
rename = "hostedAgentMinutesFreeCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub hosted_agent_minutes_free_count: Option<i32>,
#[serde(
rename = "hostedAgentMinutesUsedCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub hosted_agent_minutes_used_count: Option<i32>,
#[serde(
rename = "hostedLicensesArePremium",
default,
skip_serializing_if = "Option::is_none"
)]
pub hosted_licenses_are_premium: Option<bool>,
#[serde(
rename = "msdnUsersCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub msdn_users_count: Option<i32>,
#[doc = "Microsoft-hosted licenses purchased from VSTS directly."]
#[serde(
rename = "purchasedHostedLicenseCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub purchased_hosted_license_count: Option<i32>,
#[doc = "Self-hosted licenses purchased from VSTS directly."]
#[serde(
rename = "purchasedLicenseCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub purchased_license_count: Option<i32>,
#[serde(
rename = "totalHostedLicenseCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub total_hosted_license_count: Option<i32>,
#[serde(
rename = "totalLicenseCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub total_license_count: Option<i32>,
#[serde(
rename = "totalPrivateLicenseCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub total_private_license_count: Option<i32>,
}
impl TaskHubLicenseDetails {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskInputDefinition {
#[serde(flatten)]
pub task_input_definition_base: TaskInputDefinitionBase,
}
impl TaskInputDefinition {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskInputDefinitionBase {
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub aliases: Vec<String>,
#[serde(
rename = "defaultValue",
default,
skip_serializing_if = "Option::is_none"
)]
pub default_value: Option<String>,
#[serde(rename = "groupName", default, skip_serializing_if = "Option::is_none")]
pub group_name: Option<String>,
#[serde(
rename = "helpMarkDown",
default,
skip_serializing_if = "Option::is_none"
)]
pub help_mark_down: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required: Option<bool>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub validation: Option<TaskInputValidation>,
#[serde(
rename = "visibleRule",
default,
skip_serializing_if = "Option::is_none"
)]
pub visible_rule: Option<String>,
}
impl TaskInputDefinitionBase {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskInputValidation {
#[doc = "Conditional expression"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expression: Option<String>,
#[doc = "Message explaining how user can correct if validation fails"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
impl TaskInputValidation {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskInstance {
#[serde(flatten)]
pub task_reference: TaskReference,
#[serde(rename = "alwaysRun", default, skip_serializing_if = "Option::is_none")]
pub always_run: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub condition: Option<String>,
#[serde(
rename = "continueOnError",
default,
skip_serializing_if = "Option::is_none"
)]
pub continue_on_error: Option<bool>,
#[serde(
rename = "displayName",
default,
skip_serializing_if = "Option::is_none"
)]
pub display_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub environment: Option<serde_json::Value>,
#[serde(
rename = "instanceId",
default,
skip_serializing_if = "Option::is_none"
)]
pub instance_id: Option<String>,
#[serde(rename = "refName", default, skip_serializing_if = "Option::is_none")]
pub ref_name: Option<String>,
#[serde(
rename = "retryCountOnTaskFailure",
default,
skip_serializing_if = "Option::is_none"
)]
pub retry_count_on_task_failure: Option<i32>,
#[serde(
rename = "timeoutInMinutes",
default,
skip_serializing_if = "Option::is_none"
)]
pub timeout_in_minutes: Option<i32>,
}
impl TaskInstance {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskLog {
#[serde(flatten)]
pub task_log_reference: TaskLogReference,
#[serde(
rename = "createdOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub created_on: Option<time::OffsetDateTime>,
#[serde(
rename = "indexLocation",
default,
skip_serializing_if = "Option::is_none"
)]
pub index_location: Option<String>,
#[serde(
rename = "lastChangedOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub last_changed_on: Option<time::OffsetDateTime>,
#[serde(rename = "lineCount", default, skip_serializing_if = "Option::is_none")]
pub line_count: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
}
impl TaskLog {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskLogReference {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
}
impl TaskLogReference {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskOrchestrationContainer {
#[serde(flatten)]
pub task_orchestration_item: TaskOrchestrationItem,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub children: Vec<TaskOrchestrationItem>,
#[serde(
rename = "continueOnError",
default,
skip_serializing_if = "Option::is_none"
)]
pub continue_on_error: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<serde_json::Value>,
#[serde(
rename = "maxConcurrency",
default,
skip_serializing_if = "Option::is_none"
)]
pub max_concurrency: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parallel: Option<bool>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rollback: Box<Option<TaskOrchestrationContainer>>,
}
impl TaskOrchestrationContainer {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskOrchestrationItem {
#[serde(rename = "itemType", default, skip_serializing_if = "Option::is_none")]
pub item_type: Option<task_orchestration_item::ItemType>,
}
impl TaskOrchestrationItem {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_orchestration_item {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum ItemType {
#[serde(rename = "container")]
Container,
#[serde(rename = "job")]
Job,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskOrchestrationJob {
#[serde(flatten)]
pub task_orchestration_item: TaskOrchestrationItem,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub demands: Vec<Demand>,
#[doc = ""]
#[serde(rename = "executeAs", default, skip_serializing_if = "Option::is_none")]
pub execute_as: Option<IdentityRef>,
#[serde(
rename = "executionMode",
default,
skip_serializing_if = "Option::is_none"
)]
pub execution_mode: Option<String>,
#[serde(
rename = "executionTimeout",
default,
skip_serializing_if = "Option::is_none"
)]
pub execution_timeout: Option<String>,
#[serde(
rename = "instanceId",
default,
skip_serializing_if = "Option::is_none"
)]
pub instance_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "refName", default, skip_serializing_if = "Option::is_none")]
pub ref_name: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub tasks: Vec<TaskInstance>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub variables: Option<serde_json::Value>,
}
impl TaskOrchestrationJob {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskOrchestrationOwner {
#[doc = "The class to represent a collection of REST reference links."]
#[serde(rename = "_links", default, skip_serializing_if = "Option::is_none")]
pub links: Option<ReferenceLinks>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl TaskOrchestrationOwner {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskOrchestrationPlan {
#[serde(flatten)]
pub task_orchestration_plan_reference: TaskOrchestrationPlanReference,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub environment: Option<PlanEnvironment>,
#[doc = ""]
#[serde(
rename = "expandedYaml",
default,
skip_serializing_if = "Option::is_none"
)]
pub expanded_yaml: Option<TaskLogReference>,
#[serde(
rename = "finishTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub finish_time: Option<time::OffsetDateTime>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub implementation: Option<TaskOrchestrationContainer>,
#[doc = ""]
#[serde(
rename = "initializationLog",
default,
skip_serializing_if = "Option::is_none"
)]
pub initialization_log: Option<TaskLogReference>,
#[serde(
rename = "requestedById",
default,
skip_serializing_if = "Option::is_none"
)]
pub requested_by_id: Option<String>,
#[serde(
rename = "requestedForId",
default,
skip_serializing_if = "Option::is_none"
)]
pub requested_for_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<task_orchestration_plan::Result>,
#[serde(
rename = "resultCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub result_code: Option<String>,
#[serde(
rename = "startTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub start_time: Option<time::OffsetDateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<task_orchestration_plan::State>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeline: Option<TimelineReference>,
}
impl TaskOrchestrationPlan {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_orchestration_plan {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Result {
#[serde(rename = "succeeded")]
Succeeded,
#[serde(rename = "succeededWithIssues")]
SucceededWithIssues,
#[serde(rename = "failed")]
Failed,
#[serde(rename = "canceled")]
Canceled,
#[serde(rename = "skipped")]
Skipped,
#[serde(rename = "abandoned")]
Abandoned,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum State {
#[serde(rename = "inProgress")]
InProgress,
#[serde(rename = "queued")]
Queued,
#[serde(rename = "completed")]
Completed,
#[serde(rename = "throttled")]
Throttled,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskOrchestrationPlanGroup {
#[serde(rename = "planGroup", default, skip_serializing_if = "Option::is_none")]
pub plan_group: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub project: Option<ProjectReference>,
#[serde(
rename = "runningRequests",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub running_requests: Vec<TaskAgentJobRequest>,
}
impl TaskOrchestrationPlanGroup {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskOrchestrationPlanGroupsQueueMetrics {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<task_orchestration_plan_groups_queue_metrics::Status>,
}
impl TaskOrchestrationPlanGroupsQueueMetrics {
pub fn new() -> Self {
Self::default()
}
}
pub mod task_orchestration_plan_groups_queue_metrics {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "running")]
Running,
#[serde(rename = "queued")]
Queued,
#[serde(rename = "all")]
All,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskOrchestrationPlanReference {
#[serde(
rename = "artifactLocation",
default,
skip_serializing_if = "Option::is_none"
)]
pub artifact_location: Option<String>,
#[serde(
rename = "artifactUri",
default,
skip_serializing_if = "Option::is_none"
)]
pub artifact_uri: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub definition: Option<TaskOrchestrationOwner>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owner: Option<TaskOrchestrationOwner>,
#[serde(rename = "planGroup", default, skip_serializing_if = "Option::is_none")]
pub plan_group: Option<String>,
#[serde(rename = "planId", default, skip_serializing_if = "Option::is_none")]
pub plan_id: Option<String>,
#[serde(rename = "planType", default, skip_serializing_if = "Option::is_none")]
pub plan_type: Option<String>,
#[serde(
rename = "scopeIdentifier",
default,
skip_serializing_if = "Option::is_none"
)]
pub scope_identifier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i32>,
}
impl TaskOrchestrationPlanReference {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskOrchestrationQueuedPlan {
#[serde(
rename = "assignTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub assign_time: Option<time::OffsetDateTime>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub definition: Option<TaskOrchestrationOwner>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owner: Option<TaskOrchestrationOwner>,
#[serde(rename = "planGroup", default, skip_serializing_if = "Option::is_none")]
pub plan_group: Option<String>,
#[serde(rename = "planId", default, skip_serializing_if = "Option::is_none")]
pub plan_id: Option<String>,
#[serde(rename = "poolId", default, skip_serializing_if = "Option::is_none")]
pub pool_id: Option<i32>,
#[serde(
rename = "queuePosition",
default,
skip_serializing_if = "Option::is_none"
)]
pub queue_position: Option<i32>,
#[serde(
rename = "queueTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub queue_time: Option<time::OffsetDateTime>,
#[serde(
rename = "scopeIdentifier",
default,
skip_serializing_if = "Option::is_none"
)]
pub scope_identifier: Option<String>,
}
impl TaskOrchestrationQueuedPlan {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskOrchestrationQueuedPlanGroup {
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub definition: Option<TaskOrchestrationOwner>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owner: Option<TaskOrchestrationOwner>,
#[serde(rename = "planGroup", default, skip_serializing_if = "Option::is_none")]
pub plan_group: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub plans: Vec<TaskOrchestrationQueuedPlan>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub project: Option<ProjectReference>,
#[serde(
rename = "queuePosition",
default,
skip_serializing_if = "Option::is_none"
)]
pub queue_position: Option<i32>,
}
impl TaskOrchestrationQueuedPlanGroup {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskOutputVariable {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl TaskOutputVariable {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskPackageMetadata {
#[doc = "Gets the name of the package."]
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[doc = "Gets the url of the package."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[doc = "Gets the version of the package."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
impl TaskPackageMetadata {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskReference {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inputs: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
impl TaskReference {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskRestrictions {
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub commands: Option<TaskCommandRestrictions>,
#[doc = ""]
#[serde(
rename = "settableVariables",
default,
skip_serializing_if = "Option::is_none"
)]
pub settable_variables: Option<TaskVariableRestrictions>,
}
impl TaskRestrictions {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskSourceDefinition {
#[serde(flatten)]
pub task_source_definition_base: TaskSourceDefinitionBase,
}
impl TaskSourceDefinition {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskSourceDefinitionBase {
#[serde(rename = "authKey", default, skip_serializing_if = "Option::is_none")]
pub auth_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
#[serde(
rename = "keySelector",
default,
skip_serializing_if = "Option::is_none"
)]
pub key_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<String>,
}
impl TaskSourceDefinitionBase {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskStartedEvent {
#[serde(flatten)]
pub task_event: TaskEvent,
}
impl TaskStartedEvent {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskVariableRestrictions {
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub allowed: Vec<String>,
}
impl TaskVariableRestrictions {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TaskVersion {
#[serde(rename = "isTest", default, skip_serializing_if = "Option::is_none")]
pub is_test: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub major: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub minor: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub patch: Option<i32>,
}
impl TaskVersion {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Timeline {
#[serde(flatten)]
pub timeline_reference: TimelineReference,
#[serde(
rename = "lastChangedBy",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_changed_by: Option<String>,
#[serde(
rename = "lastChangedOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub last_changed_on: Option<time::OffsetDateTime>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub records: Vec<TimelineRecord>,
}
impl Timeline {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TimelineAttempt {
#[doc = "Gets or sets the attempt of the record."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attempt: Option<i32>,
#[doc = "Gets or sets the unique identifier for the record."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub identifier: Option<String>,
#[doc = "Gets or sets the record identifier located within the specified timeline."]
#[serde(rename = "recordId", default, skip_serializing_if = "Option::is_none")]
pub record_id: Option<String>,
#[doc = "Gets or sets the timeline identifier which owns the record representing this attempt."]
#[serde(
rename = "timelineId",
default,
skip_serializing_if = "Option::is_none"
)]
pub timeline_id: Option<String>,
}
impl TimelineAttempt {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TimelineRecord {
#[doc = "Represents a JSON object."]
#[serde(
rename = "agentSpecification",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_specification: Option<JObject>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attempt: Option<i32>,
#[serde(rename = "changeId", default, skip_serializing_if = "Option::is_none")]
pub change_id: Option<i32>,
#[serde(
rename = "currentOperation",
default,
skip_serializing_if = "Option::is_none"
)]
pub current_operation: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub details: Option<TimelineReference>,
#[serde(
rename = "errorCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub error_count: Option<i32>,
#[serde(
rename = "finishTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub finish_time: Option<time::OffsetDateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub identifier: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub issues: Vec<Issue>,
#[serde(
rename = "lastModified",
default,
with = "crate::date_time::rfc3339::option"
)]
pub last_modified: Option<time::OffsetDateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log: Option<TaskLogReference>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub order: Option<i32>,
#[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
pub parent_id: Option<String>,
#[serde(
rename = "percentComplete",
default,
skip_serializing_if = "Option::is_none"
)]
pub percent_complete: Option<i32>,
#[serde(
rename = "previousAttempts",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub previous_attempts: Vec<TimelineAttempt>,
#[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
pub queue_id: Option<i32>,
#[serde(rename = "refName", default, skip_serializing_if = "Option::is_none")]
pub ref_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<timeline_record::Result>,
#[serde(
rename = "resultCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub result_code: Option<String>,
#[serde(
rename = "startTime",
default,
with = "crate::date_time::rfc3339::option"
)]
pub start_time: Option<time::OffsetDateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<timeline_record::State>,
#[doc = ""]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task: Option<TaskReference>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub variables: Option<serde_json::Value>,
#[serde(
rename = "warningCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub warning_count: Option<i32>,
#[serde(
rename = "workerName",
default,
skip_serializing_if = "Option::is_none"
)]
pub worker_name: Option<String>,
}
impl TimelineRecord {
pub fn new() -> Self {
Self::default()
}
}
pub mod timeline_record {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Result {
#[serde(rename = "succeeded")]
Succeeded,
#[serde(rename = "succeededWithIssues")]
SucceededWithIssues,
#[serde(rename = "failed")]
Failed,
#[serde(rename = "canceled")]
Canceled,
#[serde(rename = "skipped")]
Skipped,
#[serde(rename = "abandoned")]
Abandoned,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum State {
#[serde(rename = "pending")]
Pending,
#[serde(rename = "inProgress")]
InProgress,
#[serde(rename = "completed")]
Completed,
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TimelineRecordFeedLinesWrapper {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(rename = "endLine", default, skip_serializing_if = "Option::is_none")]
pub end_line: Option<i64>,
#[serde(rename = "startLine", default, skip_serializing_if = "Option::is_none")]
pub start_line: Option<i64>,
#[serde(rename = "stepId", default, skip_serializing_if = "Option::is_none")]
pub step_id: Option<String>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<String>,
}
impl TimelineRecordFeedLinesWrapper {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TimelineReference {
#[serde(rename = "changeId", default, skip_serializing_if = "Option::is_none")]
pub change_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
}
impl TimelineReference {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ValidationItem {
#[doc = "Tells whether the current input is valid or not"]
#[serde(rename = "isValid", default, skip_serializing_if = "Option::is_none")]
pub is_valid: Option<bool>,
#[doc = "Reason for input validation failure"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
#[doc = "Type of validation item"]
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[doc = "Value to validate. The conditional expression to validate for the input for \"expression\" type Eg:eq(variables['Build.SourceBranch'], 'refs/heads/master');eq(value, 'refs/heads/master')"]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl ValidationItem {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "A variable group is a collection of related variables."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VariableGroup {
#[doc = ""]
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<IdentityRef>,
#[doc = "Gets or sets the time when variable group was created."]
#[serde(
rename = "createdOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub created_on: Option<time::OffsetDateTime>,
#[doc = "Gets or sets description of the variable group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Gets or sets id of the variable group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[doc = "Indicates whether variable group is shared with other projects or not."]
#[serde(rename = "isShared", default, skip_serializing_if = "Option::is_none")]
pub is_shared: Option<bool>,
#[doc = ""]
#[serde(
rename = "modifiedBy",
default,
skip_serializing_if = "Option::is_none"
)]
pub modified_by: Option<IdentityRef>,
#[doc = "Gets or sets the time when variable group was modified"]
#[serde(
rename = "modifiedOn",
default,
with = "crate::date_time::rfc3339::option"
)]
pub modified_on: Option<time::OffsetDateTime>,
#[doc = "Gets or sets name of the variable group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Defines provider data of the variable group."]
#[serde(
rename = "providerData",
default,
skip_serializing_if = "Option::is_none"
)]
pub provider_data: Option<VariableGroupProviderData>,
#[doc = "Gets or sets type of the variable group."]
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[doc = "all project references where the variable group is shared with other projects."]
#[serde(
rename = "variableGroupProjectReferences",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub variable_group_project_references: Vec<VariableGroupProjectReference>,
#[doc = "Gets or sets variables contained in the variable group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub variables: Option<serde_json::Value>,
}
impl VariableGroup {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VariableGroupList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub value: Vec<VariableGroup>,
}
impl VariableGroupList {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VariableGroupParameters {
#[doc = "Sets description of the variable group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Sets name of the variable group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = "Defines provider data of the variable group."]
#[serde(
rename = "providerData",
default,
skip_serializing_if = "Option::is_none"
)]
pub provider_data: Option<VariableGroupProviderData>,
#[doc = "Sets type of the variable group."]
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(
rename = "variableGroupProjectReferences",
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub variable_group_project_references: Vec<VariableGroupProjectReference>,
#[doc = "Sets variables contained in the variable group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub variables: Option<serde_json::Value>,
}
impl VariableGroupParameters {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "A variable group reference is a shallow reference to variable group."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VariableGroupProjectReference {
#[doc = "Gets or sets description of the variable group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[doc = "Gets or sets name of the variable group."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[doc = ""]
#[serde(
rename = "projectReference",
default,
skip_serializing_if = "Option::is_none"
)]
pub project_reference: Option<ProjectReference>,
}
impl VariableGroupProjectReference {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Defines provider data of the variable group."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VariableGroupProviderData {}
impl VariableGroupProviderData {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VariableValue {
#[serde(
rename = "isReadOnly",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_read_only: Option<bool>,
#[serde(rename = "isSecret", default, skip_serializing_if = "Option::is_none")]
pub is_secret: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl VariableValue {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VirtualMachine {
#[doc = "A task agent."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<TaskAgent>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(
default,
skip_serializing_if = "Vec::is_empty",
deserialize_with = "crate::serde::deserialize_null_default"
)]
pub tags: Vec<String>,
}
impl VirtualMachine {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VirtualMachineGroup {
#[serde(flatten)]
pub environment_resource: EnvironmentResource,
#[serde(rename = "poolId", default, skip_serializing_if = "Option::is_none")]
pub pool_id: Option<i32>,
}
impl VirtualMachineGroup {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VirtualMachineGroupCreateParameters {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl VirtualMachineGroupCreateParameters {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VirtualMachineResource {
#[serde(flatten)]
pub environment_resource: EnvironmentResource,
#[doc = "A task agent."]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<TaskAgent>,
}
impl VirtualMachineResource {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VirtualMachineResourceCreateParameters {
#[doc = ""]
#[serde(
rename = "virtualMachineResource",
default,
skip_serializing_if = "Option::is_none"
)]
pub virtual_machine_resource: Option<VirtualMachineResource>,
}
impl VirtualMachineResourceCreateParameters {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "This class is used to serialized collections as a single JSON object on the wire, to avoid serializing JSON arrays directly to the client, which can be a security hole"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VssJsonCollectionWrapper {
#[serde(flatten)]
pub vss_json_collection_wrapper_base: VssJsonCollectionWrapperBase,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl VssJsonCollectionWrapper {
pub fn new() -> Self {
Self::default()
}
}
#[doc = ""]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VssJsonCollectionWrapperBase {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
}
impl VssJsonCollectionWrapperBase {
pub fn new() -> Self {
Self::default()
}
}