diff --git a/azure-rest-api-specs b/azure-rest-api-specs index 443a57ead6db..6e4d25df14bb 160000 --- a/azure-rest-api-specs +++ b/azure-rest-api-specs @@ -1 +1 @@ -Subproject commit 443a57ead6db77c28a6f0d16858c7f44f1374337 +Subproject commit 6e4d25df14bb5252d9911c9de2c8fc99a32e644d diff --git a/provider/cmd/pulumi-resource-azure-native/schema.json b/provider/cmd/pulumi-resource-azure-native/schema.json index e394ad43c5b2..18e51a25a57f 100644 --- a/provider/cmd/pulumi-resource-azure-native/schema.json +++ b/provider/cmd/pulumi-resource-azure-native/schema.json @@ -176497,6 +176497,10 @@ }, "description": "List of tags that can be used for describing the linked service." }, + "azureCloudType": { + "$ref": "pulumi.json#/Any", + "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)." + }, "commandTimeout": { "$ref": "pulumi.json#/Any", "description": "The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer." @@ -176510,6 +176514,11 @@ "$ref": "pulumi.json#/Any", "description": "An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference." }, + "credential": { + "type": "object", + "$ref": "#/types/azure-native:datafactory:CredentialReference", + "description": "The credential reference containing authentication information." + }, "database": { "$ref": "pulumi.json#/Any", "description": "Database name for connection. Type: string." @@ -176551,10 +176560,82 @@ "$ref": "pulumi.json#/Any", "description": "Server name for connection. Type: string." }, + "servicePrincipalCredentialType": { + "$ref": "pulumi.json#/Any", + "description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)." + }, + "servicePrincipalEmbeddedCert": { + "oneOf": [ + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:AzureKeyVaultSecretReference" + }, + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:SecureString" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "AzureKeyVaultSecret": "#/types/azure-native:datafactory:AzureKeyVaultSecretReference", + "SecureString": "#/types/azure-native:datafactory:SecureString" + } + }, + "description": "Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string)." + }, + "servicePrincipalEmbeddedCertPassword": { + "oneOf": [ + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:AzureKeyVaultSecretReference" + }, + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:SecureString" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "AzureKeyVaultSecret": "#/types/azure-native:datafactory:AzureKeyVaultSecretReference", + "SecureString": "#/types/azure-native:datafactory:SecureString" + } + }, + "description": "Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string)." + }, + "servicePrincipalId": { + "$ref": "pulumi.json#/Any", + "description": "The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string)." + }, + "servicePrincipalKey": { + "oneOf": [ + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:AzureKeyVaultSecretReference" + }, + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:SecureString" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "AzureKeyVaultSecret": "#/types/azure-native:datafactory:AzureKeyVaultSecretReference", + "SecureString": "#/types/azure-native:datafactory:SecureString" + } + }, + "description": "The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server." + }, "sslMode": { "$ref": "pulumi.json#/Any", "description": "SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer." }, + "tenant": { + "$ref": "pulumi.json#/Any", + "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)." + }, "timeout": { "$ref": "pulumi.json#/Any", "description": "The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer." @@ -176596,6 +176677,10 @@ }, "description": "List of tags that can be used for describing the linked service." }, + "azureCloudType": { + "$ref": "pulumi.json#/Any", + "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)." + }, "commandTimeout": { "$ref": "pulumi.json#/Any", "description": "The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer." @@ -176609,6 +176694,11 @@ "$ref": "pulumi.json#/Any", "description": "An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference." }, + "credential": { + "type": "object", + "$ref": "#/types/azure-native:datafactory:CredentialReferenceResponse", + "description": "The credential reference containing authentication information." + }, "database": { "$ref": "pulumi.json#/Any", "description": "Database name for connection. Type: string." @@ -176650,10 +176740,82 @@ "$ref": "pulumi.json#/Any", "description": "Server name for connection. Type: string." }, + "servicePrincipalCredentialType": { + "$ref": "pulumi.json#/Any", + "description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)." + }, + "servicePrincipalEmbeddedCert": { + "oneOf": [ + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:AzureKeyVaultSecretReferenceResponse" + }, + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:SecureStringResponse" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "AzureKeyVaultSecret": "#/types/azure-native:datafactory:AzureKeyVaultSecretReferenceResponse", + "SecureString": "#/types/azure-native:datafactory:SecureStringResponse" + } + }, + "description": "Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string)." + }, + "servicePrincipalEmbeddedCertPassword": { + "oneOf": [ + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:AzureKeyVaultSecretReferenceResponse" + }, + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:SecureStringResponse" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "AzureKeyVaultSecret": "#/types/azure-native:datafactory:AzureKeyVaultSecretReferenceResponse", + "SecureString": "#/types/azure-native:datafactory:SecureStringResponse" + } + }, + "description": "Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string)." + }, + "servicePrincipalId": { + "$ref": "pulumi.json#/Any", + "description": "The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string)." + }, + "servicePrincipalKey": { + "oneOf": [ + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:AzureKeyVaultSecretReferenceResponse" + }, + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:SecureStringResponse" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "AzureKeyVaultSecret": "#/types/azure-native:datafactory:AzureKeyVaultSecretReferenceResponse", + "SecureString": "#/types/azure-native:datafactory:SecureStringResponse" + } + }, + "description": "The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server." + }, "sslMode": { "$ref": "pulumi.json#/Any", "description": "SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer." }, + "tenant": { + "$ref": "pulumi.json#/Any", + "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)." + }, "timeout": { "$ref": "pulumi.json#/Any", "description": "The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer." @@ -183445,6 +183607,10 @@ "type": "object", "$ref": "#/types/azure-native:datafactory:SqlSink" }, + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:TeradataSink" + }, { "type": "object", "$ref": "#/types/azure-native:datafactory:WarehouseSink" @@ -183497,6 +183663,7 @@ "SqlMISink": "#/types/azure-native:datafactory:SqlMISink", "SqlServerSink": "#/types/azure-native:datafactory:SqlServerSink", "SqlSink": "#/types/azure-native:datafactory:SqlSink", + "TeradataSink": "#/types/azure-native:datafactory:TeradataSink", "WarehouseSink": "#/types/azure-native:datafactory:WarehouseSink" } }, @@ -184383,6 +184550,10 @@ "type": "object", "$ref": "#/types/azure-native:datafactory:SqlSinkResponse" }, + { + "type": "object", + "$ref": "#/types/azure-native:datafactory:TeradataSinkResponse" + }, { "type": "object", "$ref": "#/types/azure-native:datafactory:WarehouseSinkResponse" @@ -184435,6 +184606,7 @@ "SqlMISink": "#/types/azure-native:datafactory:SqlMISinkResponse", "SqlServerSink": "#/types/azure-native:datafactory:SqlServerSinkResponse", "SqlSink": "#/types/azure-native:datafactory:SqlSinkResponse", + "TeradataSink": "#/types/azure-native:datafactory:TeradataSinkResponse", "WarehouseSink": "#/types/azure-native:datafactory:WarehouseSinkResponse" } }, @@ -216814,6 +216986,15 @@ "type" ] }, + "azure-native:datafactory:OracleAuthenticationType": { + "description": "Authentication type for connecting to the Oracle database. Only used for Version 2.0.", + "type": "string", + "enum": [ + { + "value": "Basic" + } + ] + }, "azure-native:datafactory:OracleCloudStorageLinkedService": { "description": "Linked service for Oracle Cloud Storage.", "properties": { @@ -217147,7 +217328,7 @@ ] }, "azure-native:datafactory:OracleLinkedService": { - "description": "Oracle database.", + "description": "Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features.", "properties": { "annotations": { "type": "array", @@ -217156,6 +217337,17 @@ }, "description": "List of tags that can be used for describing the linked service." }, + "authenticationType": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:datafactory:OracleAuthenticationType" + } + ], + "description": "Authentication type for connecting to the Oracle database. Only used for Version 2.0." + }, "connectVia": { "type": "object", "$ref": "#/types/azure-native:datafactory:IntegrationRuntimeReference", @@ -217163,16 +217355,52 @@ }, "connectionString": { "$ref": "pulumi.json#/Any", - "description": "The connection string. Type: string, SecureString or AzureKeyVaultSecretReference." + "description": "The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0." + }, + "cryptoChecksumClient": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0." + }, + "cryptoChecksumTypesClient": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0." }, "description": { "type": "string", "description": "Linked service description." }, + "enableBulkLoad": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0." + }, "encryptedCredential": { "type": "string", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." }, + "encryptionClient": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0." + }, + "encryptionTypesClient": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0." + }, + "fetchSize": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0." + }, + "fetchTswtzAsTimestamp": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0." + }, + "initialLobFetchSize": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0." + }, + "initializationString": { + "$ref": "pulumi.json#/Any", + "description": "Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0." + }, "parameters": { "type": "object", "additionalProperties": { @@ -217186,11 +217414,27 @@ "$ref": "#/types/azure-native:datafactory:AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, + "server": { + "$ref": "pulumi.json#/Any", + "description": "The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0." + }, + "statementCacheSize": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0." + }, + "supportV1DataTypes": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0." + }, "type": { "type": "string", "description": "Type of linked service.\nExpected value is 'Oracle'.", "const": "Oracle" }, + "username": { + "$ref": "pulumi.json#/Any", + "description": "The Oracle database username. Type: string. Only used for Version 2.0." + }, "version": { "type": "string", "description": "Version of the linked service." @@ -217203,7 +217447,7 @@ ] }, "azure-native:datafactory:OracleLinkedServiceResponse": { - "description": "Oracle database.", + "description": "Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features.", "properties": { "annotations": { "type": "array", @@ -217212,6 +217456,10 @@ }, "description": "List of tags that can be used for describing the linked service." }, + "authenticationType": { + "type": "string", + "description": "Authentication type for connecting to the Oracle database. Only used for Version 2.0." + }, "connectVia": { "type": "object", "$ref": "#/types/azure-native:datafactory:IntegrationRuntimeReferenceResponse", @@ -217219,16 +217467,52 @@ }, "connectionString": { "$ref": "pulumi.json#/Any", - "description": "The connection string. Type: string, SecureString or AzureKeyVaultSecretReference." + "description": "The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0." + }, + "cryptoChecksumClient": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0." + }, + "cryptoChecksumTypesClient": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0." }, "description": { "type": "string", "description": "Linked service description." }, + "enableBulkLoad": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0." + }, "encryptedCredential": { "type": "string", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." }, + "encryptionClient": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0." + }, + "encryptionTypesClient": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0." + }, + "fetchSize": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0." + }, + "fetchTswtzAsTimestamp": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0." + }, + "initialLobFetchSize": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0." + }, + "initializationString": { + "$ref": "pulumi.json#/Any", + "description": "Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0." + }, "parameters": { "type": "object", "additionalProperties": { @@ -217242,11 +217526,27 @@ "$ref": "#/types/azure-native:datafactory:AzureKeyVaultSecretReferenceResponse", "description": "The Azure key vault secret reference of password in connection string." }, + "server": { + "$ref": "pulumi.json#/Any", + "description": "The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0." + }, + "statementCacheSize": { + "$ref": "pulumi.json#/Any", + "description": "Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0." + }, + "supportV1DataTypes": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0." + }, "type": { "type": "string", "description": "Type of linked service.\nExpected value is 'Oracle'.", "const": "Oracle" }, + "username": { + "$ref": "pulumi.json#/Any", + "description": "The Oracle database username. Type: string. Only used for Version 2.0." + }, "version": { "type": "string", "description": "Version of the linked service." @@ -240998,6 +241298,42 @@ } ] }, + "azure-native:datafactory:TeradataImportCommand": { + "description": "Teradata import command settings.", + "properties": { + "additionalFormatOptions": { + "$ref": "pulumi.json#/Any", + "description": "Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: \"additionalFormatOptions\": { \"timeFormat\": \"HHhMImSSs\" }" + }, + "type": { + "type": "string", + "description": "The import setting type.\nExpected value is 'TeradataImportCommand'.", + "const": "TeradataImportCommand" + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "azure-native:datafactory:TeradataImportCommandResponse": { + "description": "Teradata import command settings.", + "properties": { + "additionalFormatOptions": { + "$ref": "pulumi.json#/Any", + "description": "Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: \"additionalFormatOptions\": { \"timeFormat\": \"HHhMImSSs\" }" + }, + "type": { + "type": "string", + "description": "The import setting type.\nExpected value is 'TeradataImportCommand'.", + "const": "TeradataImportCommand" + } + }, + "type": "object", + "required": [ + "type" + ] + }, "azure-native:datafactory:TeradataLinkedService": { "description": "Linked service for Teradata data source.", "properties": { @@ -241019,6 +241355,10 @@ ], "description": "AuthenticationType to be used for connection." }, + "characterSet": { + "$ref": "pulumi.json#/Any", + "description": "The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0." + }, "connectVia": { "type": "object", "$ref": "#/types/azure-native:datafactory:IntegrationRuntimeReference", @@ -241026,7 +241366,7 @@ }, "connectionString": { "$ref": "pulumi.json#/Any", - "description": "Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference." + "description": "Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0." }, "description": { "type": "string", @@ -241036,6 +241376,14 @@ "type": "string", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." }, + "httpsPortNumber": { + "$ref": "pulumi.json#/Any", + "description": "The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0." + }, + "maxRespSize": { + "$ref": "pulumi.json#/Any", + "description": "The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0." + }, "parameters": { "type": "object", "additionalProperties": { @@ -241064,15 +241412,27 @@ }, "description": "Password for authentication." }, + "portNumber": { + "$ref": "pulumi.json#/Any", + "description": "The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0." + }, "server": { "$ref": "pulumi.json#/Any", "description": "Server name for connection. Type: string (or Expression with resultType string)." }, + "sslMode": { + "$ref": "pulumi.json#/Any", + "description": "SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0." + }, "type": { "type": "string", "description": "Type of linked service.\nExpected value is 'Teradata'.", "const": "Teradata" }, + "useDataEncryption": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0." + }, "username": { "$ref": "pulumi.json#/Any", "description": "Username for authentication. Type: string (or Expression with resultType string)." @@ -241101,6 +241461,10 @@ "type": "string", "description": "AuthenticationType to be used for connection." }, + "characterSet": { + "$ref": "pulumi.json#/Any", + "description": "The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0." + }, "connectVia": { "type": "object", "$ref": "#/types/azure-native:datafactory:IntegrationRuntimeReferenceResponse", @@ -241108,7 +241472,7 @@ }, "connectionString": { "$ref": "pulumi.json#/Any", - "description": "Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference." + "description": "Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0." }, "description": { "type": "string", @@ -241118,6 +241482,14 @@ "type": "string", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." }, + "httpsPortNumber": { + "$ref": "pulumi.json#/Any", + "description": "The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0." + }, + "maxRespSize": { + "$ref": "pulumi.json#/Any", + "description": "The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0." + }, "parameters": { "type": "object", "additionalProperties": { @@ -241146,15 +241518,27 @@ }, "description": "Password for authentication." }, + "portNumber": { + "$ref": "pulumi.json#/Any", + "description": "The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0." + }, "server": { "$ref": "pulumi.json#/Any", "description": "Server name for connection. Type: string (or Expression with resultType string)." }, + "sslMode": { + "$ref": "pulumi.json#/Any", + "description": "SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0." + }, "type": { "type": "string", "description": "Type of linked service.\nExpected value is 'Teradata'.", "const": "Teradata" }, + "useDataEncryption": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0." + }, "username": { "$ref": "pulumi.json#/Any", "description": "Username for authentication. Type: string (or Expression with resultType string)." @@ -241205,6 +241589,92 @@ }, "type": "object" }, + "azure-native:datafactory:TeradataSink": { + "description": "A copy activity Teradata sink.", + "properties": { + "disableMetricsCollection": { + "$ref": "pulumi.json#/Any", + "description": "If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean)." + }, + "importSettings": { + "type": "object", + "$ref": "#/types/azure-native:datafactory:TeradataImportCommand", + "description": "Teradata import settings." + }, + "maxConcurrentConnections": { + "$ref": "pulumi.json#/Any", + "description": "The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer)." + }, + "sinkRetryCount": { + "$ref": "pulumi.json#/Any", + "description": "Sink retry count. Type: integer (or Expression with resultType integer)." + }, + "sinkRetryWait": { + "$ref": "pulumi.json#/Any", + "description": "Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))." + }, + "type": { + "type": "string", + "description": "Copy sink type.\nExpected value is 'TeradataSink'.", + "const": "TeradataSink" + }, + "writeBatchSize": { + "$ref": "pulumi.json#/Any", + "description": "Write batch size. Type: integer (or Expression with resultType integer), minimum: 0." + }, + "writeBatchTimeout": { + "$ref": "pulumi.json#/Any", + "description": "Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "azure-native:datafactory:TeradataSinkResponse": { + "description": "A copy activity Teradata sink.", + "properties": { + "disableMetricsCollection": { + "$ref": "pulumi.json#/Any", + "description": "If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean)." + }, + "importSettings": { + "type": "object", + "$ref": "#/types/azure-native:datafactory:TeradataImportCommandResponse", + "description": "Teradata import settings." + }, + "maxConcurrentConnections": { + "$ref": "pulumi.json#/Any", + "description": "The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer)." + }, + "sinkRetryCount": { + "$ref": "pulumi.json#/Any", + "description": "Sink retry count. Type: integer (or Expression with resultType integer)." + }, + "sinkRetryWait": { + "$ref": "pulumi.json#/Any", + "description": "Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))." + }, + "type": { + "type": "string", + "description": "Copy sink type.\nExpected value is 'TeradataSink'.", + "const": "TeradataSink" + }, + "writeBatchSize": { + "$ref": "pulumi.json#/Any", + "description": "Write batch size. Type: integer (or Expression with resultType integer), minimum: 0." + }, + "writeBatchTimeout": { + "$ref": "pulumi.json#/Any", + "description": "Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))." + } + }, + "type": "object", + "required": [ + "type" + ] + }, "azure-native:datafactory:TeradataSource": { "description": "A copy activity Teradata source.", "properties": { @@ -647621,7 +648091,7 @@ ] }, "azure-native:devopsinfrastructure:Pool": { - "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.\nAzure REST API version: 2023-10-30-preview.\n\nOther available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Pools_CreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new AzureNative.DevOpsInfrastructure.Pool(\"pool\", new()\n {\n AgentProfile = new AzureNative.DevOpsInfrastructure.Inputs.StatelessAgentProfileArgs\n {\n Kind = \"Stateless\",\n },\n DevCenterProjectResourceId = \"/subscriptions/222e81d0-cf38-4dab-baa5-289bf16baaa4/resourceGroups/rg-1es-devcenter/providers/Microsoft.DevCenter/projects/1ES\",\n FabricProfile = new AzureNative.DevOpsInfrastructure.Inputs.VmssFabricProfileArgs\n {\n Images = new[]\n {\n new AzureNative.DevOpsInfrastructure.Inputs.PoolImageArgs\n {\n ResourceId = \"/MicrosoftWindowsServer/WindowsServer/2019-Datacenter/latest\",\n },\n },\n Kind = \"Vmss\",\n Sku = new AzureNative.DevOpsInfrastructure.Inputs.DevOpsAzureSkuArgs\n {\n Name = \"Standard_D4ads_v5\",\n },\n },\n Location = \"eastus\",\n MaximumConcurrency = 10,\n OrganizationProfile = new AzureNative.DevOpsInfrastructure.Inputs.AzureDevOpsOrganizationProfileArgs\n {\n Kind = \"AzureDevOps\",\n Organizations = new[]\n {\n new AzureNative.DevOpsInfrastructure.Inputs.OrganizationArgs\n {\n Url = \"https://mseng.visualstudio.com\",\n },\n },\n },\n PoolName = \"pool\",\n ProvisioningState = AzureNative.DevOpsInfrastructure.ProvisioningState.Succeeded,\n ResourceGroupName = \"rg\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tdevopsinfrastructure \"github.com/pulumi/pulumi-azure-native-sdk/devopsinfrastructure/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsinfrastructure.NewPool(ctx, \"pool\", \u0026devopsinfrastructure.PoolArgs{\n\t\t\tAgentProfile: \u0026devopsinfrastructure.StatelessAgentProfileArgs{\n\t\t\t\tKind: pulumi.String(\"Stateless\"),\n\t\t\t},\n\t\t\tDevCenterProjectResourceId: pulumi.String(\"/subscriptions/222e81d0-cf38-4dab-baa5-289bf16baaa4/resourceGroups/rg-1es-devcenter/providers/Microsoft.DevCenter/projects/1ES\"),\n\t\t\tFabricProfile: \u0026devopsinfrastructure.VmssFabricProfileArgs{\n\t\t\t\tImages: devopsinfrastructure.PoolImageArray{\n\t\t\t\t\t\u0026devopsinfrastructure.PoolImageArgs{\n\t\t\t\t\t\tResourceId: pulumi.String(\"/MicrosoftWindowsServer/WindowsServer/2019-Datacenter/latest\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tKind: pulumi.String(\"Vmss\"),\n\t\t\t\tSku: \u0026devopsinfrastructure.DevOpsAzureSkuArgs{\n\t\t\t\t\tName: pulumi.String(\"Standard_D4ads_v5\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tMaximumConcurrency: pulumi.Int(10),\n\t\t\tOrganizationProfile: \u0026devopsinfrastructure.AzureDevOpsOrganizationProfileArgs{\n\t\t\t\tKind: pulumi.String(\"AzureDevOps\"),\n\t\t\t\tOrganizations: devopsinfrastructure.OrganizationArray{\n\t\t\t\t\t\u0026devopsinfrastructure.OrganizationArgs{\n\t\t\t\t\t\tUrl: pulumi.String(\"https://mseng.visualstudio.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPoolName: pulumi.String(\"pool\"),\n\t\t\tProvisioningState: pulumi.String(devopsinfrastructure.ProvisioningStateSucceeded),\n\t\t\tResourceGroupName: pulumi.String(\"rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.devopsinfrastructure.Pool;\nimport com.pulumi.azurenative.devopsinfrastructure.PoolArgs;\nimport com.pulumi.azurenative.devopsinfrastructure.inputs.VmssFabricProfileArgs;\nimport com.pulumi.azurenative.devopsinfrastructure.inputs.DevOpsAzureSkuArgs;\nimport com.pulumi.azurenative.devopsinfrastructure.inputs.AzureDevOpsOrganizationProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pool = new Pool(\"pool\", PoolArgs.builder()\n .agentProfile(StatelessAgentProfileArgs.builder()\n .kind(\"Stateless\")\n .build())\n .devCenterProjectResourceId(\"/subscriptions/222e81d0-cf38-4dab-baa5-289bf16baaa4/resourceGroups/rg-1es-devcenter/providers/Microsoft.DevCenter/projects/1ES\")\n .fabricProfile(VmssFabricProfileArgs.builder()\n .images(PoolImageArgs.builder()\n .resourceId(\"/MicrosoftWindowsServer/WindowsServer/2019-Datacenter/latest\")\n .build())\n .kind(\"Vmss\")\n .sku(DevOpsAzureSkuArgs.builder()\n .name(\"Standard_D4ads_v5\")\n .build())\n .build())\n .location(\"eastus\")\n .maximumConcurrency(10)\n .organizationProfile(AzureDevOpsOrganizationProfileArgs.builder()\n .kind(\"AzureDevOps\")\n .organizations(OrganizationArgs.builder()\n .url(\"https://mseng.visualstudio.com\")\n .build())\n .build())\n .poolName(\"pool\")\n .provisioningState(\"Succeeded\")\n .resourceGroupName(\"rg\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst pool = new azure_native.devopsinfrastructure.Pool(\"pool\", {\n agentProfile: {\n kind: \"Stateless\",\n },\n devCenterProjectResourceId: \"/subscriptions/222e81d0-cf38-4dab-baa5-289bf16baaa4/resourceGroups/rg-1es-devcenter/providers/Microsoft.DevCenter/projects/1ES\",\n fabricProfile: {\n images: [{\n resourceId: \"/MicrosoftWindowsServer/WindowsServer/2019-Datacenter/latest\",\n }],\n kind: \"Vmss\",\n sku: {\n name: \"Standard_D4ads_v5\",\n },\n },\n location: \"eastus\",\n maximumConcurrency: 10,\n organizationProfile: {\n kind: \"AzureDevOps\",\n organizations: [{\n url: \"https://mseng.visualstudio.com\",\n }],\n },\n poolName: \"pool\",\n provisioningState: azure_native.devopsinfrastructure.ProvisioningState.Succeeded,\n resourceGroupName: \"rg\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\npool = azure_native.devopsinfrastructure.Pool(\"pool\",\n agent_profile={\n \"kind\": \"Stateless\",\n },\n dev_center_project_resource_id=\"/subscriptions/222e81d0-cf38-4dab-baa5-289bf16baaa4/resourceGroups/rg-1es-devcenter/providers/Microsoft.DevCenter/projects/1ES\",\n fabric_profile={\n \"images\": [{\n \"resource_id\": \"/MicrosoftWindowsServer/WindowsServer/2019-Datacenter/latest\",\n }],\n \"kind\": \"Vmss\",\n \"sku\": {\n \"name\": \"Standard_D4ads_v5\",\n },\n },\n location=\"eastus\",\n maximum_concurrency=10,\n organization_profile={\n \"kind\": \"AzureDevOps\",\n \"organizations\": [{\n \"url\": \"https://mseng.visualstudio.com\",\n }],\n },\n pool_name=\"pool\",\n provisioning_state=azure_native.devopsinfrastructure.ProvisioningState.SUCCEEDED,\n resource_group_name=\"rg\")\n\n```\n\n```yaml\nresources:\n pool:\n type: azure-native:devopsinfrastructure:Pool\n properties:\n agentProfile:\n kind: Stateless\n devCenterProjectResourceId: /subscriptions/222e81d0-cf38-4dab-baa5-289bf16baaa4/resourceGroups/rg-1es-devcenter/providers/Microsoft.DevCenter/projects/1ES\n fabricProfile:\n images:\n - resourceId: /MicrosoftWindowsServer/WindowsServer/2019-Datacenter/latest\n kind: Vmss\n sku:\n name: Standard_D4ads_v5\n location: eastus\n maximumConcurrency: 10\n organizationProfile:\n kind: AzureDevOps\n organizations:\n - url: https://mseng.visualstudio.com\n poolName: pool\n provisioningState: Succeeded\n resourceGroupName: rg\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:devopsinfrastructure:Pool myresource1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOpsInfrastructure/pools/{poolName} \n```\n", + "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.\nAzure REST API version: 2023-10-30-preview.\n\nOther available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Pools_CreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new AzureNative.DevOpsInfrastructure.Pool(\"pool\", new()\n {\n AgentProfile = new AzureNative.DevOpsInfrastructure.Inputs.StatelessAgentProfileArgs\n {\n Kind = \"Stateless\",\n },\n DevCenterProjectResourceId = \"/subscriptions/222e81d0-cf38-4dab-baa5-289bf16baaa4/resourceGroups/rg-1es-devcenter/providers/Microsoft.DevCenter/projects/1ES\",\n FabricProfile = new AzureNative.DevOpsInfrastructure.Inputs.VmssFabricProfileArgs\n {\n Images = new[]\n {\n new AzureNative.DevOpsInfrastructure.Inputs.PoolImageArgs\n {\n ResourceId = \"/MicrosoftWindowsServer/WindowsServer/2019-Datacenter/latest\",\n },\n },\n Kind = \"Vmss\",\n Sku = new AzureNative.DevOpsInfrastructure.Inputs.DevOpsAzureSkuArgs\n {\n Name = \"Standard_D4ads_v5\",\n },\n },\n Location = \"eastus\",\n MaximumConcurrency = 10,\n OrganizationProfile = new AzureNative.DevOpsInfrastructure.Inputs.AzureDevOpsOrganizationProfileArgs\n {\n Kind = \"AzureDevOps\",\n Organizations = new[]\n {\n new AzureNative.DevOpsInfrastructure.Inputs.OrganizationArgs\n {\n Url = \"https://mseng.visualstudio.com\",\n },\n },\n },\n PoolName = \"pool\",\n ProvisioningState = AzureNative.DevOpsInfrastructure.ProvisioningState.Succeeded,\n ResourceGroupName = \"rg\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tdevopsinfrastructure \"github.com/pulumi/pulumi-azure-native-sdk/devopsinfrastructure/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := devopsinfrastructure.NewPool(ctx, \"pool\", \u0026devopsinfrastructure.PoolArgs{\n\t\t\tAgentProfile: \u0026devopsinfrastructure.StatelessAgentProfileArgs{\n\t\t\t\tKind: pulumi.String(\"Stateless\"),\n\t\t\t},\n\t\t\tDevCenterProjectResourceId: pulumi.String(\"/subscriptions/222e81d0-cf38-4dab-baa5-289bf16baaa4/resourceGroups/rg-1es-devcenter/providers/Microsoft.DevCenter/projects/1ES\"),\n\t\t\tFabricProfile: \u0026devopsinfrastructure.VmssFabricProfileArgs{\n\t\t\t\tImages: devopsinfrastructure.PoolImageArray{\n\t\t\t\t\t\u0026devopsinfrastructure.PoolImageArgs{\n\t\t\t\t\t\tResourceId: pulumi.String(\"/MicrosoftWindowsServer/WindowsServer/2019-Datacenter/latest\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tKind: pulumi.String(\"Vmss\"),\n\t\t\t\tSku: \u0026devopsinfrastructure.DevOpsAzureSkuArgs{\n\t\t\t\t\tName: pulumi.String(\"Standard_D4ads_v5\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tMaximumConcurrency: pulumi.Int(10),\n\t\t\tOrganizationProfile: \u0026devopsinfrastructure.AzureDevOpsOrganizationProfileArgs{\n\t\t\t\tKind: pulumi.String(\"AzureDevOps\"),\n\t\t\t\tOrganizations: devopsinfrastructure.OrganizationArray{\n\t\t\t\t\t\u0026devopsinfrastructure.OrganizationArgs{\n\t\t\t\t\t\tUrl: pulumi.String(\"https://mseng.visualstudio.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPoolName: pulumi.String(\"pool\"),\n\t\t\tProvisioningState: pulumi.String(devopsinfrastructure.ProvisioningStateSucceeded),\n\t\t\tResourceGroupName: pulumi.String(\"rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.devopsinfrastructure.Pool;\nimport com.pulumi.azurenative.devopsinfrastructure.PoolArgs;\nimport com.pulumi.azurenative.devopsinfrastructure.inputs.VmssFabricProfileArgs;\nimport com.pulumi.azurenative.devopsinfrastructure.inputs.DevOpsAzureSkuArgs;\nimport com.pulumi.azurenative.devopsinfrastructure.inputs.AzureDevOpsOrganizationProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pool = new Pool(\"pool\", PoolArgs.builder()\n .agentProfile(StatelessAgentProfileArgs.builder()\n .kind(\"Stateless\")\n .build())\n .devCenterProjectResourceId(\"/subscriptions/222e81d0-cf38-4dab-baa5-289bf16baaa4/resourceGroups/rg-1es-devcenter/providers/Microsoft.DevCenter/projects/1ES\")\n .fabricProfile(VmssFabricProfileArgs.builder()\n .images(PoolImageArgs.builder()\n .resourceId(\"/MicrosoftWindowsServer/WindowsServer/2019-Datacenter/latest\")\n .build())\n .kind(\"Vmss\")\n .sku(DevOpsAzureSkuArgs.builder()\n .name(\"Standard_D4ads_v5\")\n .build())\n .build())\n .location(\"eastus\")\n .maximumConcurrency(10)\n .organizationProfile(AzureDevOpsOrganizationProfileArgs.builder()\n .kind(\"AzureDevOps\")\n .organizations(OrganizationArgs.builder()\n .url(\"https://mseng.visualstudio.com\")\n .build())\n .build())\n .poolName(\"pool\")\n .provisioningState(\"Succeeded\")\n .resourceGroupName(\"rg\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst pool = new azure_native.devopsinfrastructure.Pool(\"pool\", {\n agentProfile: {\n kind: \"Stateless\",\n },\n devCenterProjectResourceId: \"/subscriptions/222e81d0-cf38-4dab-baa5-289bf16baaa4/resourceGroups/rg-1es-devcenter/providers/Microsoft.DevCenter/projects/1ES\",\n fabricProfile: {\n images: [{\n resourceId: \"/MicrosoftWindowsServer/WindowsServer/2019-Datacenter/latest\",\n }],\n kind: \"Vmss\",\n sku: {\n name: \"Standard_D4ads_v5\",\n },\n },\n location: \"eastus\",\n maximumConcurrency: 10,\n organizationProfile: {\n kind: \"AzureDevOps\",\n organizations: [{\n url: \"https://mseng.visualstudio.com\",\n }],\n },\n poolName: \"pool\",\n provisioningState: azure_native.devopsinfrastructure.ProvisioningState.Succeeded,\n resourceGroupName: \"rg\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\npool = azure_native.devopsinfrastructure.Pool(\"pool\",\n agent_profile={\n \"kind\": \"Stateless\",\n },\n dev_center_project_resource_id=\"/subscriptions/222e81d0-cf38-4dab-baa5-289bf16baaa4/resourceGroups/rg-1es-devcenter/providers/Microsoft.DevCenter/projects/1ES\",\n fabric_profile={\n \"images\": [{\n \"resource_id\": \"/MicrosoftWindowsServer/WindowsServer/2019-Datacenter/latest\",\n }],\n \"kind\": \"Vmss\",\n \"sku\": {\n \"name\": \"Standard_D4ads_v5\",\n },\n },\n location=\"eastus\",\n maximum_concurrency=10,\n organization_profile={\n \"kind\": \"AzureDevOps\",\n \"organizations\": [{\n \"url\": \"https://mseng.visualstudio.com\",\n }],\n },\n pool_name=\"pool\",\n provisioning_state=azure_native.devopsinfrastructure.ProvisioningState.SUCCEEDED,\n resource_group_name=\"rg\")\n\n```\n\n```yaml\nresources:\n pool:\n type: azure-native:devopsinfrastructure:Pool\n properties:\n agentProfile:\n kind: Stateless\n devCenterProjectResourceId: /subscriptions/222e81d0-cf38-4dab-baa5-289bf16baaa4/resourceGroups/rg-1es-devcenter/providers/Microsoft.DevCenter/projects/1ES\n fabricProfile:\n images:\n - resourceId: /MicrosoftWindowsServer/WindowsServer/2019-Datacenter/latest\n kind: Vmss\n sku:\n name: Standard_D4ads_v5\n location: eastus\n maximumConcurrency: 10\n organizationProfile:\n kind: AzureDevOps\n organizations:\n - url: https://mseng.visualstudio.com\n poolName: pool\n provisioningState: Succeeded\n resourceGroupName: rg\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:devopsinfrastructure:Pool myresource1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOpsInfrastructure/pools/{poolName} \n```\n", "properties": { "agentProfile": { "oneOf": [ @@ -647808,6 +648278,9 @@ }, { "type": "azure-native:devopsinfrastructure/v20241019:Pool" + }, + { + "type": "azure-native:devopsinfrastructure/v20250121:Pool" } ] }, @@ -700271,7 +700744,7 @@ ] }, "azure-native:managedidentity:FederatedIdentityCredential": { - "description": "Describes a federated identity credential.\nAzure REST API version: 2023-01-31. Prior API version in Azure Native 1.x: 2022-01-31-preview.\n\nOther available API versions: 2023-07-31-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### FederatedIdentityCredentialCreate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var federatedIdentityCredential = new AzureNative.ManagedIdentity.FederatedIdentityCredential(\"federatedIdentityCredential\", new()\n {\n Audiences = new[]\n {\n \"api://AzureADTokenExchange\",\n },\n FederatedIdentityCredentialResourceName = \"ficResourceName\",\n Issuer = \"https://oidc.prod-aks.azure.com/TenantGUID/IssuerGUID\",\n ResourceGroupName = \"rgName\",\n ResourceName = \"resourceName\",\n Subject = \"system:serviceaccount:ns:svcaccount\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmanagedidentity \"github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := managedidentity.NewFederatedIdentityCredential(ctx, \"federatedIdentityCredential\", \u0026managedidentity.FederatedIdentityCredentialArgs{\n\t\t\tAudiences: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api://AzureADTokenExchange\"),\n\t\t\t},\n\t\t\tFederatedIdentityCredentialResourceName: pulumi.String(\"ficResourceName\"),\n\t\t\tIssuer: pulumi.String(\"https://oidc.prod-aks.azure.com/TenantGUID/IssuerGUID\"),\n\t\t\tResourceGroupName: pulumi.String(\"rgName\"),\n\t\t\tResourceName: pulumi.String(\"resourceName\"),\n\t\t\tSubject: pulumi.String(\"system:serviceaccount:ns:svcaccount\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.managedidentity.FederatedIdentityCredential;\nimport com.pulumi.azurenative.managedidentity.FederatedIdentityCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var federatedIdentityCredential = new FederatedIdentityCredential(\"federatedIdentityCredential\", FederatedIdentityCredentialArgs.builder()\n .audiences(\"api://AzureADTokenExchange\")\n .federatedIdentityCredentialResourceName(\"ficResourceName\")\n .issuer(\"https://oidc.prod-aks.azure.com/TenantGUID/IssuerGUID\")\n .resourceGroupName(\"rgName\")\n .resourceName(\"resourceName\")\n .subject(\"system:serviceaccount:ns:svcaccount\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst federatedIdentityCredential = new azure_native.managedidentity.FederatedIdentityCredential(\"federatedIdentityCredential\", {\n audiences: [\"api://AzureADTokenExchange\"],\n federatedIdentityCredentialResourceName: \"ficResourceName\",\n issuer: \"https://oidc.prod-aks.azure.com/TenantGUID/IssuerGUID\",\n resourceGroupName: \"rgName\",\n resourceName: \"resourceName\",\n subject: \"system:serviceaccount:ns:svcaccount\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nfederated_identity_credential = azure_native.managedidentity.FederatedIdentityCredential(\"federatedIdentityCredential\",\n audiences=[\"api://AzureADTokenExchange\"],\n federated_identity_credential_resource_name=\"ficResourceName\",\n issuer=\"https://oidc.prod-aks.azure.com/TenantGUID/IssuerGUID\",\n resource_group_name=\"rgName\",\n resource_name_=\"resourceName\",\n subject=\"system:serviceaccount:ns:svcaccount\")\n\n```\n\n```yaml\nresources:\n federatedIdentityCredential:\n type: azure-native:managedidentity:FederatedIdentityCredential\n properties:\n audiences:\n - api://AzureADTokenExchange\n federatedIdentityCredentialResourceName: ficResourceName\n issuer: https://oidc.prod-aks.azure.com/TenantGUID/IssuerGUID\n resourceGroupName: rgName\n resourceName: resourceName\n subject: system:serviceaccount:ns:svcaccount\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:managedidentity:FederatedIdentityCredential ficResourceName /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} \n```\n", + "description": "Describes a federated identity credential.\nAzure REST API version: 2023-01-31. Prior API version in Azure Native 1.x: 2022-01-31-preview.\n\nOther available API versions: 2023-07-31-preview, 2024-11-30.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### FederatedIdentityCredentialCreate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var federatedIdentityCredential = new AzureNative.ManagedIdentity.FederatedIdentityCredential(\"federatedIdentityCredential\", new()\n {\n Audiences = new[]\n {\n \"api://AzureADTokenExchange\",\n },\n FederatedIdentityCredentialResourceName = \"ficResourceName\",\n Issuer = \"https://oidc.prod-aks.azure.com/TenantGUID/IssuerGUID\",\n ResourceGroupName = \"rgName\",\n ResourceName = \"resourceName\",\n Subject = \"system:serviceaccount:ns:svcaccount\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmanagedidentity \"github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := managedidentity.NewFederatedIdentityCredential(ctx, \"federatedIdentityCredential\", \u0026managedidentity.FederatedIdentityCredentialArgs{\n\t\t\tAudiences: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api://AzureADTokenExchange\"),\n\t\t\t},\n\t\t\tFederatedIdentityCredentialResourceName: pulumi.String(\"ficResourceName\"),\n\t\t\tIssuer: pulumi.String(\"https://oidc.prod-aks.azure.com/TenantGUID/IssuerGUID\"),\n\t\t\tResourceGroupName: pulumi.String(\"rgName\"),\n\t\t\tResourceName: pulumi.String(\"resourceName\"),\n\t\t\tSubject: pulumi.String(\"system:serviceaccount:ns:svcaccount\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.managedidentity.FederatedIdentityCredential;\nimport com.pulumi.azurenative.managedidentity.FederatedIdentityCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var federatedIdentityCredential = new FederatedIdentityCredential(\"federatedIdentityCredential\", FederatedIdentityCredentialArgs.builder()\n .audiences(\"api://AzureADTokenExchange\")\n .federatedIdentityCredentialResourceName(\"ficResourceName\")\n .issuer(\"https://oidc.prod-aks.azure.com/TenantGUID/IssuerGUID\")\n .resourceGroupName(\"rgName\")\n .resourceName(\"resourceName\")\n .subject(\"system:serviceaccount:ns:svcaccount\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst federatedIdentityCredential = new azure_native.managedidentity.FederatedIdentityCredential(\"federatedIdentityCredential\", {\n audiences: [\"api://AzureADTokenExchange\"],\n federatedIdentityCredentialResourceName: \"ficResourceName\",\n issuer: \"https://oidc.prod-aks.azure.com/TenantGUID/IssuerGUID\",\n resourceGroupName: \"rgName\",\n resourceName: \"resourceName\",\n subject: \"system:serviceaccount:ns:svcaccount\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nfederated_identity_credential = azure_native.managedidentity.FederatedIdentityCredential(\"federatedIdentityCredential\",\n audiences=[\"api://AzureADTokenExchange\"],\n federated_identity_credential_resource_name=\"ficResourceName\",\n issuer=\"https://oidc.prod-aks.azure.com/TenantGUID/IssuerGUID\",\n resource_group_name=\"rgName\",\n resource_name_=\"resourceName\",\n subject=\"system:serviceaccount:ns:svcaccount\")\n\n```\n\n```yaml\nresources:\n federatedIdentityCredential:\n type: azure-native:managedidentity:FederatedIdentityCredential\n properties:\n audiences:\n - api://AzureADTokenExchange\n federatedIdentityCredentialResourceName: ficResourceName\n issuer: https://oidc.prod-aks.azure.com/TenantGUID/IssuerGUID\n resourceGroupName: rgName\n resourceName: resourceName\n subject: system:serviceaccount:ns:svcaccount\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:managedidentity:FederatedIdentityCredential ficResourceName /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} \n```\n", "properties": { "audiences": { "type": "array", @@ -700359,11 +700832,14 @@ }, { "type": "azure-native:managedidentity/v20230731preview:FederatedIdentityCredential" + }, + { + "type": "azure-native:managedidentity/v20241130:FederatedIdentityCredential" } ] }, "azure-native:managedidentity:UserAssignedIdentity": { - "description": "Describes an identity resource.\nAzure REST API version: 2023-01-31. Prior API version in Azure Native 1.x: 2018-11-30.\n\nOther available API versions: 2023-07-31-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### IdentityCreate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userAssignedIdentity = new AzureNative.ManagedIdentity.UserAssignedIdentity(\"userAssignedIdentity\", new()\n {\n Location = \"eastus\",\n ResourceGroupName = \"rgName\",\n ResourceName = \"resourceName\",\n Tags = \n {\n { \"key1\", \"value1\" },\n { \"key2\", \"value2\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmanagedidentity \"github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := managedidentity.NewUserAssignedIdentity(ctx, \"userAssignedIdentity\", \u0026managedidentity.UserAssignedIdentityArgs{\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tResourceGroupName: pulumi.String(\"rgName\"),\n\t\t\tResourceName: pulumi.String(\"resourceName\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\"key2\": pulumi.String(\"value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.managedidentity.UserAssignedIdentity;\nimport com.pulumi.azurenative.managedidentity.UserAssignedIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var userAssignedIdentity = new UserAssignedIdentity(\"userAssignedIdentity\", UserAssignedIdentityArgs.builder()\n .location(\"eastus\")\n .resourceGroupName(\"rgName\")\n .resourceName(\"resourceName\")\n .tags(Map.ofEntries(\n Map.entry(\"key1\", \"value1\"),\n Map.entry(\"key2\", \"value2\")\n ))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst userAssignedIdentity = new azure_native.managedidentity.UserAssignedIdentity(\"userAssignedIdentity\", {\n location: \"eastus\",\n resourceGroupName: \"rgName\",\n resourceName: \"resourceName\",\n tags: {\n key1: \"value1\",\n key2: \"value2\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nuser_assigned_identity = azure_native.managedidentity.UserAssignedIdentity(\"userAssignedIdentity\",\n location=\"eastus\",\n resource_group_name=\"rgName\",\n resource_name_=\"resourceName\",\n tags={\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n })\n\n```\n\n```yaml\nresources:\n userAssignedIdentity:\n type: azure-native:managedidentity:UserAssignedIdentity\n properties:\n location: eastus\n resourceGroupName: rgName\n resourceName: resourceName\n tags:\n key1: value1\n key2: value2\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:managedidentity:UserAssignedIdentity identityName /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName} \n```\n", + "description": "Describes an identity resource.\nAzure REST API version: 2023-01-31. Prior API version in Azure Native 1.x: 2018-11-30.\n\nOther available API versions: 2023-07-31-preview, 2024-11-30.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### IdentityCreate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userAssignedIdentity = new AzureNative.ManagedIdentity.UserAssignedIdentity(\"userAssignedIdentity\", new()\n {\n Location = \"eastus\",\n ResourceGroupName = \"rgName\",\n ResourceName = \"resourceName\",\n Tags = \n {\n { \"key1\", \"value1\" },\n { \"key2\", \"value2\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmanagedidentity \"github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := managedidentity.NewUserAssignedIdentity(ctx, \"userAssignedIdentity\", \u0026managedidentity.UserAssignedIdentityArgs{\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tResourceGroupName: pulumi.String(\"rgName\"),\n\t\t\tResourceName: pulumi.String(\"resourceName\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\"key2\": pulumi.String(\"value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.managedidentity.UserAssignedIdentity;\nimport com.pulumi.azurenative.managedidentity.UserAssignedIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var userAssignedIdentity = new UserAssignedIdentity(\"userAssignedIdentity\", UserAssignedIdentityArgs.builder()\n .location(\"eastus\")\n .resourceGroupName(\"rgName\")\n .resourceName(\"resourceName\")\n .tags(Map.ofEntries(\n Map.entry(\"key1\", \"value1\"),\n Map.entry(\"key2\", \"value2\")\n ))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst userAssignedIdentity = new azure_native.managedidentity.UserAssignedIdentity(\"userAssignedIdentity\", {\n location: \"eastus\",\n resourceGroupName: \"rgName\",\n resourceName: \"resourceName\",\n tags: {\n key1: \"value1\",\n key2: \"value2\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nuser_assigned_identity = azure_native.managedidentity.UserAssignedIdentity(\"userAssignedIdentity\",\n location=\"eastus\",\n resource_group_name=\"rgName\",\n resource_name_=\"resourceName\",\n tags={\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n })\n\n```\n\n```yaml\nresources:\n userAssignedIdentity:\n type: azure-native:managedidentity:UserAssignedIdentity\n properties:\n location: eastus\n resourceGroupName: rgName\n resourceName: resourceName\n tags:\n key1: value1\n key2: value2\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:managedidentity:UserAssignedIdentity identityName /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName} \n```\n", "properties": { "clientId": { "type": "string", @@ -700457,6 +700933,9 @@ }, { "type": "azure-native:managedidentity/v20230731preview:UserAssignedIdentity" + }, + { + "type": "azure-native:managedidentity/v20241130:UserAssignedIdentity" } ] }, @@ -915291,7 +915770,7 @@ } }, "azure-native:devopsinfrastructure:getPool": { - "description": "Get a Pool\nAzure REST API version: 2023-10-30-preview.\n\nOther available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19.", + "description": "Get a Pool\nAzure REST API version: 2023-10-30-preview.\n\nOther available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21.", "inputs": { "properties": { "poolName": { @@ -956998,7 +957477,7 @@ } }, "azure-native:managedidentity:getFederatedIdentityCredential": { - "description": "Gets the federated identity credential.\nAzure REST API version: 2023-01-31.\n\nOther available API versions: 2023-07-31-preview.", + "description": "Gets the federated identity credential.\nAzure REST API version: 2023-01-31.\n\nOther available API versions: 2023-07-31-preview, 2024-11-30.", "inputs": { "properties": { "federatedIdentityCredentialResourceName": { @@ -957073,7 +957552,7 @@ } }, "azure-native:managedidentity:getUserAssignedIdentity": { - "description": "Gets the identity.\nAzure REST API version: 2023-01-31.\n\nOther available API versions: 2023-07-31-preview.", + "description": "Gets the identity.\nAzure REST API version: 2023-01-31.\n\nOther available API versions: 2023-07-31-preview, 2024-11-30.", "inputs": { "properties": { "resourceGroupName": { diff --git a/reports/allResourceVersionsByResource.json b/reports/allResourceVersionsByResource.json index 3bcba345605e..843ac62c2eb7 100644 --- a/reports/allResourceVersionsByResource.json +++ b/reports/allResourceVersionsByResource.json @@ -9640,7 +9640,8 @@ "2023-12-13-preview", "2024-03-26-preview", "2024-04-04-preview", - "2024-10-19" + "2024-10-19", + "2025-01-21" ] }, "DevSpaces": { @@ -15319,7 +15320,8 @@ "FederatedIdentityCredential": [ "2022-01-31-preview", "2023-01-31", - "2023-07-31-preview" + "2023-07-31-preview", + "2024-11-30" ], "UserAssignedIdentity": [ "2015-08-31-preview", @@ -15327,7 +15329,8 @@ "2021-09-30-preview", "2022-01-31-preview", "2023-01-31", - "2023-07-31-preview" + "2023-07-31-preview", + "2024-11-30" ], "listUserAssignedIdentityAssociatedResources": [ "2021-09-30-preview", diff --git a/reports/allResourcesByVersion.json b/reports/allResourcesByVersion.json index 0fc31d586978..e3938fa0d07b 100644 --- a/reports/allResourcesByVersion.json +++ b/reports/allResourcesByVersion.json @@ -46733,6 +46733,14 @@ "ResourceUri": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOpsInfrastructure/pools/{poolName}", "RpNamespace": "Microsoft.DevOpsInfrastructure" } + }, + "2025-01-21": { + "Pool": { + "ApiVersion": "2025-01-21", + "SpecFilePath": "specification/devopsinfrastructure/resource-manager/Microsoft.DevOpsInfrastructure/stable/2025-01-21/devopsinfrastructure.json", + "ResourceUri": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOpsInfrastructure/pools/{poolName}", + "RpNamespace": "Microsoft.DevOpsInfrastructure" + } } }, "DevSpaces": { @@ -74078,6 +74086,20 @@ "ResourceUri": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}", "RpNamespace": "Microsoft.ManagedIdentity" } + }, + "2024-11-30": { + "FederatedIdentityCredential": { + "ApiVersion": "2024-11-30", + "SpecFilePath": "specification/msi/resource-manager/Microsoft.ManagedIdentity/stable/2024-11-30/ManagedIdentity.json", + "ResourceUri": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName}", + "RpNamespace": "Microsoft.ManagedIdentity" + }, + "UserAssignedIdentity": { + "ApiVersion": "2024-11-30", + "SpecFilePath": "specification/msi/resource-manager/Microsoft.ManagedIdentity/stable/2024-11-30/ManagedIdentity.json", + "ResourceUri": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}", + "RpNamespace": "Microsoft.ManagedIdentity" + } } }, "ManagedNetwork": { diff --git a/reports/pending.json b/reports/pending.json index 7b992b065226..ee93e0f88749 100644 --- a/reports/pending.json +++ b/reports/pending.json @@ -544,7 +544,8 @@ "2023-12-13-preview", "2024-03-26-preview", "2024-04-04-preview", - "2024-10-19" + "2024-10-19", + "2025-01-21" ], "DevSpaces": [], "DevTestLab": [], @@ -884,7 +885,8 @@ ], "ManagedIdentity": [ "2023-01-31", - "2023-07-31-preview" + "2023-07-31-preview", + "2024-11-30" ], "ManagedNetwork": [], "ManagedNetworkFabric": [ diff --git a/sdk/dotnet/DataFactory/Enums.cs b/sdk/dotnet/DataFactory/Enums.cs index 4a495825beb9..922ae15f2efc 100644 --- a/sdk/dotnet/DataFactory/Enums.cs +++ b/sdk/dotnet/DataFactory/Enums.cs @@ -1633,6 +1633,36 @@ private ODataAuthenticationType(string value) public override string ToString() => _value; } + /// + /// Authentication type for connecting to the Oracle database. Only used for Version 2.0. + /// + [EnumType] + public readonly struct OracleAuthenticationType : IEquatable + { + private readonly string _value; + + private OracleAuthenticationType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static OracleAuthenticationType Basic { get; } = new OracleAuthenticationType("Basic"); + + public static bool operator ==(OracleAuthenticationType left, OracleAuthenticationType right) => left.Equals(right); + public static bool operator !=(OracleAuthenticationType left, OracleAuthenticationType right) => !left.Equals(right); + + public static explicit operator string(OracleAuthenticationType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OracleAuthenticationType other && Equals(other); + public bool Equals(OracleAuthenticationType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Parameter type. /// diff --git a/sdk/dotnet/DataFactory/Inputs/AzurePostgreSqlLinkedServiceArgs.cs b/sdk/dotnet/DataFactory/Inputs/AzurePostgreSqlLinkedServiceArgs.cs index a3a5cb3deff4..d028ab1a1418 100644 --- a/sdk/dotnet/DataFactory/Inputs/AzurePostgreSqlLinkedServiceArgs.cs +++ b/sdk/dotnet/DataFactory/Inputs/AzurePostgreSqlLinkedServiceArgs.cs @@ -27,6 +27,12 @@ public InputList Annotations set => _annotations = value; } + /// + /// Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + /// + [Input("azureCloudType")] + public Input? AzureCloudType { get; set; } + /// /// The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. /// @@ -45,6 +51,12 @@ public InputList Annotations [Input("connectionString")] public Input? ConnectionString { get; set; } + /// + /// The credential reference containing authentication information. + /// + [Input("credential")] + public Input? Credential { get; set; } + /// /// Database name for connection. Type: string. /// @@ -105,12 +117,48 @@ public InputMap Parameters [Input("server")] public Input? Server { get; set; } + /// + /// The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + /// + [Input("servicePrincipalCredentialType")] + public Input? ServicePrincipalCredentialType { get; set; } + + /// + /// Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + /// + [Input("servicePrincipalEmbeddedCert")] + public InputUnion? ServicePrincipalEmbeddedCert { get; set; } + + /// + /// Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + /// + [Input("servicePrincipalEmbeddedCertPassword")] + public InputUnion? ServicePrincipalEmbeddedCertPassword { get; set; } + + /// + /// The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + /// + [Input("servicePrincipalId")] + public Input? ServicePrincipalId { get; set; } + + /// + /// The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + /// + [Input("servicePrincipalKey")] + public InputUnion? ServicePrincipalKey { get; set; } + /// /// SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. /// [Input("sslMode")] public Input? SslMode { get; set; } + /// + /// The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + /// + [Input("tenant")] + public Input? Tenant { get; set; } + /// /// The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. /// diff --git a/sdk/dotnet/DataFactory/Inputs/OracleLinkedServiceArgs.cs b/sdk/dotnet/DataFactory/Inputs/OracleLinkedServiceArgs.cs index af6af050c5e2..21279583551c 100644 --- a/sdk/dotnet/DataFactory/Inputs/OracleLinkedServiceArgs.cs +++ b/sdk/dotnet/DataFactory/Inputs/OracleLinkedServiceArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AzureNative.DataFactory.Inputs { /// - /// Oracle database. + /// Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. /// public sealed class OracleLinkedServiceArgs : global::Pulumi.ResourceArgs { @@ -27,6 +27,12 @@ public InputList Annotations set => _annotations = value; } + /// + /// Authentication type for connecting to the Oracle database. Only used for Version 2.0. + /// + [Input("authenticationType")] + public InputUnion? AuthenticationType { get; set; } + /// /// The integration runtime reference. /// @@ -34,23 +40,77 @@ public InputList Annotations public Input? ConnectVia { get; set; } /// - /// The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + /// The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. /// [Input("connectionString", required: true)] public Input ConnectionString { get; set; } = null!; + /// + /// Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + /// + [Input("cryptoChecksumClient")] + public Input? CryptoChecksumClient { get; set; } + + /// + /// Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + /// + [Input("cryptoChecksumTypesClient")] + public Input? CryptoChecksumTypesClient { get; set; } + /// /// Linked service description. /// [Input("description")] public Input? Description { get; set; } + /// + /// Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + /// + [Input("enableBulkLoad")] + public Input? EnableBulkLoad { get; set; } + /// /// The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. /// [Input("encryptedCredential")] public Input? EncryptedCredential { get; set; } + /// + /// Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + /// + [Input("encryptionClient")] + public Input? EncryptionClient { get; set; } + + /// + /// Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + /// + [Input("encryptionTypesClient")] + public Input? EncryptionTypesClient { get; set; } + + /// + /// Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + /// + [Input("fetchSize")] + public Input? FetchSize { get; set; } + + /// + /// Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + /// + [Input("fetchTswtzAsTimestamp")] + public Input? FetchTswtzAsTimestamp { get; set; } + + /// + /// Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + /// + [Input("initialLobFetchSize")] + public Input? InitialLobFetchSize { get; set; } + + /// + /// Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + /// + [Input("initializationString")] + public Input? InitializationString { get; set; } + [Input("parameters")] private InputMap? _parameters; @@ -69,6 +129,24 @@ public InputMap Parameters [Input("password")] public Input? Password { get; set; } + /// + /// The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + /// + [Input("server")] + public Input? Server { get; set; } + + /// + /// Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + /// + [Input("statementCacheSize")] + public Input? StatementCacheSize { get; set; } + + /// + /// Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + /// + [Input("supportV1DataTypes")] + public Input? SupportV1DataTypes { get; set; } + /// /// Type of linked service. /// Expected value is 'Oracle'. @@ -76,6 +154,12 @@ public InputMap Parameters [Input("type", required: true)] public Input Type { get; set; } = null!; + /// + /// The Oracle database username. Type: string. Only used for Version 2.0. + /// + [Input("username")] + public Input? Username { get; set; } + /// /// Version of the linked service. /// diff --git a/sdk/dotnet/DataFactory/Inputs/TeradataImportCommandArgs.cs b/sdk/dotnet/DataFactory/Inputs/TeradataImportCommandArgs.cs new file mode 100644 index 000000000000..7d89d5e27017 --- /dev/null +++ b/sdk/dotnet/DataFactory/Inputs/TeradataImportCommandArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataFactory.Inputs +{ + + /// + /// Teradata import command settings. + /// + public sealed class TeradataImportCommandArgs : global::Pulumi.ResourceArgs + { + /// + /// Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + /// + [Input("additionalFormatOptions")] + public Input? AdditionalFormatOptions { get; set; } + + /// + /// The import setting type. + /// Expected value is 'TeradataImportCommand'. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public TeradataImportCommandArgs() + { + } + public static new TeradataImportCommandArgs Empty => new TeradataImportCommandArgs(); + } +} diff --git a/sdk/dotnet/DataFactory/Inputs/TeradataLinkedServiceArgs.cs b/sdk/dotnet/DataFactory/Inputs/TeradataLinkedServiceArgs.cs index 45fe6914bf63..c47af0400b17 100644 --- a/sdk/dotnet/DataFactory/Inputs/TeradataLinkedServiceArgs.cs +++ b/sdk/dotnet/DataFactory/Inputs/TeradataLinkedServiceArgs.cs @@ -33,6 +33,12 @@ public InputList Annotations [Input("authenticationType")] public InputUnion? AuthenticationType { get; set; } + /// + /// The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + /// + [Input("characterSet")] + public Input? CharacterSet { get; set; } + /// /// The integration runtime reference. /// @@ -40,7 +46,7 @@ public InputList Annotations public Input? ConnectVia { get; set; } /// - /// Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + /// Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. /// [Input("connectionString")] public Input? ConnectionString { get; set; } @@ -57,6 +63,18 @@ public InputList Annotations [Input("encryptedCredential")] public Input? EncryptedCredential { get; set; } + /// + /// The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + /// + [Input("httpsPortNumber")] + public Input? HttpsPortNumber { get; set; } + + /// + /// The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + /// + [Input("maxRespSize")] + public Input? MaxRespSize { get; set; } + [Input("parameters")] private InputMap? _parameters; @@ -75,12 +93,24 @@ public InputMap Parameters [Input("password")] public InputUnion? Password { get; set; } + /// + /// The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + /// + [Input("portNumber")] + public Input? PortNumber { get; set; } + /// /// Server name for connection. Type: string (or Expression with resultType string). /// [Input("server")] public Input? Server { get; set; } + /// + /// SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + /// + [Input("sslMode")] + public Input? SslMode { get; set; } + /// /// Type of linked service. /// Expected value is 'Teradata'. @@ -88,6 +118,12 @@ public InputMap Parameters [Input("type", required: true)] public Input Type { get; set; } = null!; + /// + /// Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + /// + [Input("useDataEncryption")] + public Input? UseDataEncryption { get; set; } + /// /// Username for authentication. Type: string (or Expression with resultType string). /// diff --git a/sdk/dotnet/DataFactory/Inputs/TeradataSinkArgs.cs b/sdk/dotnet/DataFactory/Inputs/TeradataSinkArgs.cs new file mode 100644 index 000000000000..183a0589f8b7 --- /dev/null +++ b/sdk/dotnet/DataFactory/Inputs/TeradataSinkArgs.cs @@ -0,0 +1,72 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataFactory.Inputs +{ + + /// + /// A copy activity Teradata sink. + /// + public sealed class TeradataSinkArgs : global::Pulumi.ResourceArgs + { + /// + /// If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + /// + [Input("disableMetricsCollection")] + public Input? DisableMetricsCollection { get; set; } + + /// + /// Teradata import settings. + /// + [Input("importSettings")] + public Input? ImportSettings { get; set; } + + /// + /// The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + /// + [Input("maxConcurrentConnections")] + public Input? MaxConcurrentConnections { get; set; } + + /// + /// Sink retry count. Type: integer (or Expression with resultType integer). + /// + [Input("sinkRetryCount")] + public Input? SinkRetryCount { get; set; } + + /// + /// Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + /// + [Input("sinkRetryWait")] + public Input? SinkRetryWait { get; set; } + + /// + /// Copy sink type. + /// Expected value is 'TeradataSink'. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + /// + [Input("writeBatchSize")] + public Input? WriteBatchSize { get; set; } + + /// + /// Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + /// + [Input("writeBatchTimeout")] + public Input? WriteBatchTimeout { get; set; } + + public TeradataSinkArgs() + { + } + public static new TeradataSinkArgs Empty => new TeradataSinkArgs(); + } +} diff --git a/sdk/dotnet/DataFactory/Outputs/AzurePostgreSqlLinkedServiceResponse.cs b/sdk/dotnet/DataFactory/Outputs/AzurePostgreSqlLinkedServiceResponse.cs index 57cf71f9b969..5535c333be0a 100644 --- a/sdk/dotnet/DataFactory/Outputs/AzurePostgreSqlLinkedServiceResponse.cs +++ b/sdk/dotnet/DataFactory/Outputs/AzurePostgreSqlLinkedServiceResponse.cs @@ -21,6 +21,10 @@ public sealed class AzurePostgreSqlLinkedServiceResponse /// public readonly ImmutableArray Annotations; /// + /// Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + /// + public readonly object? AzureCloudType; + /// /// The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. /// public readonly object? CommandTimeout; @@ -33,6 +37,10 @@ public sealed class AzurePostgreSqlLinkedServiceResponse /// public readonly object? ConnectionString; /// + /// The credential reference containing authentication information. + /// + public readonly Outputs.CredentialReferenceResponse? Credential; + /// /// Database name for connection. Type: string. /// public readonly object? Database; @@ -69,10 +77,34 @@ public sealed class AzurePostgreSqlLinkedServiceResponse /// public readonly object? Server; /// + /// The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + /// + public readonly object? ServicePrincipalCredentialType; + /// + /// Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + /// + public readonly Union? ServicePrincipalEmbeddedCert; + /// + /// Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + /// + public readonly Union? ServicePrincipalEmbeddedCertPassword; + /// + /// The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + /// + public readonly object? ServicePrincipalId; + /// + /// The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + /// + public readonly Union? ServicePrincipalKey; + /// /// SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. /// public readonly object? SslMode; /// + /// The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + /// + public readonly object? Tenant; + /// /// The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. /// public readonly object? Timeout; @@ -102,12 +134,16 @@ public sealed class AzurePostgreSqlLinkedServiceResponse private AzurePostgreSqlLinkedServiceResponse( ImmutableArray annotations, + object? azureCloudType, + object? commandTimeout, Outputs.IntegrationRuntimeReferenceResponse? connectVia, object? connectionString, + Outputs.CredentialReferenceResponse? credential, + object? database, string? description, @@ -126,8 +162,20 @@ private AzurePostgreSqlLinkedServiceResponse( object? server, + object? servicePrincipalCredentialType, + + Union? servicePrincipalEmbeddedCert, + + Union? servicePrincipalEmbeddedCertPassword, + + object? servicePrincipalId, + + Union? servicePrincipalKey, + object? sslMode, + object? tenant, + object? timeout, object? timezone, @@ -141,9 +189,11 @@ private AzurePostgreSqlLinkedServiceResponse( string? version) { Annotations = annotations; + AzureCloudType = azureCloudType; CommandTimeout = commandTimeout; ConnectVia = connectVia; ConnectionString = connectionString; + Credential = credential; Database = database; Description = description; Encoding = encoding; @@ -153,7 +203,13 @@ private AzurePostgreSqlLinkedServiceResponse( Port = port; ReadBufferSize = readBufferSize; Server = server; + ServicePrincipalCredentialType = servicePrincipalCredentialType; + ServicePrincipalEmbeddedCert = servicePrincipalEmbeddedCert; + ServicePrincipalEmbeddedCertPassword = servicePrincipalEmbeddedCertPassword; + ServicePrincipalId = servicePrincipalId; + ServicePrincipalKey = servicePrincipalKey; SslMode = sslMode; + Tenant = tenant; Timeout = timeout; Timezone = timezone; TrustServerCertificate = trustServerCertificate; diff --git a/sdk/dotnet/DataFactory/Outputs/OracleLinkedServiceResponse.cs b/sdk/dotnet/DataFactory/Outputs/OracleLinkedServiceResponse.cs index e16cb79771fa..f3af1a1cbbbf 100644 --- a/sdk/dotnet/DataFactory/Outputs/OracleLinkedServiceResponse.cs +++ b/sdk/dotnet/DataFactory/Outputs/OracleLinkedServiceResponse.cs @@ -11,7 +11,7 @@ namespace Pulumi.AzureNative.DataFactory.Outputs { /// - /// Oracle database. + /// Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. /// [OutputType] public sealed class OracleLinkedServiceResponse @@ -21,22 +21,62 @@ public sealed class OracleLinkedServiceResponse /// public readonly ImmutableArray Annotations; /// + /// Authentication type for connecting to the Oracle database. Only used for Version 2.0. + /// + public readonly string? AuthenticationType; + /// /// The integration runtime reference. /// public readonly Outputs.IntegrationRuntimeReferenceResponse? ConnectVia; /// - /// The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + /// The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. /// public readonly object ConnectionString; /// + /// Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + /// + public readonly object? CryptoChecksumClient; + /// + /// Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + /// + public readonly object? CryptoChecksumTypesClient; + /// /// Linked service description. /// public readonly string? Description; /// + /// Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + /// + public readonly object? EnableBulkLoad; + /// /// The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. /// public readonly string? EncryptedCredential; /// + /// Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + /// + public readonly object? EncryptionClient; + /// + /// Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + /// + public readonly object? EncryptionTypesClient; + /// + /// Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + /// + public readonly object? FetchSize; + /// + /// Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + /// + public readonly object? FetchTswtzAsTimestamp; + /// + /// Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + /// + public readonly object? InitialLobFetchSize; + /// + /// Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + /// + public readonly object? InitializationString; + /// /// Parameters for linked service. /// public readonly ImmutableDictionary? Parameters; @@ -45,11 +85,27 @@ public sealed class OracleLinkedServiceResponse /// public readonly Outputs.AzureKeyVaultSecretReferenceResponse? Password; /// + /// The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + /// + public readonly object? Server; + /// + /// Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + /// + public readonly object? StatementCacheSize; + /// + /// Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + /// + public readonly object? SupportV1DataTypes; + /// /// Type of linked service. /// Expected value is 'Oracle'. /// public readonly string Type; /// + /// The Oracle database username. Type: string. Only used for Version 2.0. + /// + public readonly object? Username; + /// /// Version of the linked service. /// public readonly string? Version; @@ -58,30 +114,72 @@ public sealed class OracleLinkedServiceResponse private OracleLinkedServiceResponse( ImmutableArray annotations, + string? authenticationType, + Outputs.IntegrationRuntimeReferenceResponse? connectVia, object connectionString, + object? cryptoChecksumClient, + + object? cryptoChecksumTypesClient, + string? description, + object? enableBulkLoad, + string? encryptedCredential, + object? encryptionClient, + + object? encryptionTypesClient, + + object? fetchSize, + + object? fetchTswtzAsTimestamp, + + object? initialLobFetchSize, + + object? initializationString, + ImmutableDictionary? parameters, Outputs.AzureKeyVaultSecretReferenceResponse? password, + object? server, + + object? statementCacheSize, + + object? supportV1DataTypes, + string type, + object? username, + string? version) { Annotations = annotations; + AuthenticationType = authenticationType; ConnectVia = connectVia; ConnectionString = connectionString; + CryptoChecksumClient = cryptoChecksumClient; + CryptoChecksumTypesClient = cryptoChecksumTypesClient; Description = description; + EnableBulkLoad = enableBulkLoad; EncryptedCredential = encryptedCredential; + EncryptionClient = encryptionClient; + EncryptionTypesClient = encryptionTypesClient; + FetchSize = fetchSize; + FetchTswtzAsTimestamp = fetchTswtzAsTimestamp; + InitialLobFetchSize = initialLobFetchSize; + InitializationString = initializationString; Parameters = parameters; Password = password; + Server = server; + StatementCacheSize = statementCacheSize; + SupportV1DataTypes = supportV1DataTypes; Type = type; + Username = username; Version = version; } } diff --git a/sdk/dotnet/DataFactory/Outputs/TeradataImportCommandResponse.cs b/sdk/dotnet/DataFactory/Outputs/TeradataImportCommandResponse.cs new file mode 100644 index 000000000000..c5b42248e77b --- /dev/null +++ b/sdk/dotnet/DataFactory/Outputs/TeradataImportCommandResponse.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataFactory.Outputs +{ + + /// + /// Teradata import command settings. + /// + [OutputType] + public sealed class TeradataImportCommandResponse + { + /// + /// Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + /// + public readonly object? AdditionalFormatOptions; + /// + /// The import setting type. + /// Expected value is 'TeradataImportCommand'. + /// + public readonly string Type; + + [OutputConstructor] + private TeradataImportCommandResponse( + object? additionalFormatOptions, + + string type) + { + AdditionalFormatOptions = additionalFormatOptions; + Type = type; + } + } +} diff --git a/sdk/dotnet/DataFactory/Outputs/TeradataLinkedServiceResponse.cs b/sdk/dotnet/DataFactory/Outputs/TeradataLinkedServiceResponse.cs index dcd21de6ae40..1d142c5ab100 100644 --- a/sdk/dotnet/DataFactory/Outputs/TeradataLinkedServiceResponse.cs +++ b/sdk/dotnet/DataFactory/Outputs/TeradataLinkedServiceResponse.cs @@ -25,11 +25,15 @@ public sealed class TeradataLinkedServiceResponse /// public readonly string? AuthenticationType; /// + /// The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + /// + public readonly object? CharacterSet; + /// /// The integration runtime reference. /// public readonly Outputs.IntegrationRuntimeReferenceResponse? ConnectVia; /// - /// Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + /// Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. /// public readonly object? ConnectionString; /// @@ -41,6 +45,14 @@ public sealed class TeradataLinkedServiceResponse /// public readonly string? EncryptedCredential; /// + /// The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + /// + public readonly object? HttpsPortNumber; + /// + /// The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + /// + public readonly object? MaxRespSize; + /// /// Parameters for linked service. /// public readonly ImmutableDictionary? Parameters; @@ -49,15 +61,27 @@ public sealed class TeradataLinkedServiceResponse /// public readonly Union? Password; /// + /// The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + /// + public readonly object? PortNumber; + /// /// Server name for connection. Type: string (or Expression with resultType string). /// public readonly object? Server; /// + /// SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + /// + public readonly object? SslMode; + /// /// Type of linked service. /// Expected value is 'Teradata'. /// public readonly string Type; /// + /// Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + /// + public readonly object? UseDataEncryption; + /// /// Username for authentication. Type: string (or Expression with resultType string). /// public readonly object? Username; @@ -72,6 +96,8 @@ private TeradataLinkedServiceResponse( string? authenticationType, + object? characterSet, + Outputs.IntegrationRuntimeReferenceResponse? connectVia, object? connectionString, @@ -80,28 +106,44 @@ private TeradataLinkedServiceResponse( string? encryptedCredential, + object? httpsPortNumber, + + object? maxRespSize, + ImmutableDictionary? parameters, Union? password, + object? portNumber, + object? server, + object? sslMode, + string type, + object? useDataEncryption, + object? username, string? version) { Annotations = annotations; AuthenticationType = authenticationType; + CharacterSet = characterSet; ConnectVia = connectVia; ConnectionString = connectionString; Description = description; EncryptedCredential = encryptedCredential; + HttpsPortNumber = httpsPortNumber; + MaxRespSize = maxRespSize; Parameters = parameters; Password = password; + PortNumber = portNumber; Server = server; + SslMode = sslMode; Type = type; + UseDataEncryption = useDataEncryption; Username = username; Version = version; } diff --git a/sdk/dotnet/DataFactory/Outputs/TeradataSinkResponse.cs b/sdk/dotnet/DataFactory/Outputs/TeradataSinkResponse.cs new file mode 100644 index 000000000000..ee38557fc2c5 --- /dev/null +++ b/sdk/dotnet/DataFactory/Outputs/TeradataSinkResponse.cs @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataFactory.Outputs +{ + + /// + /// A copy activity Teradata sink. + /// + [OutputType] + public sealed class TeradataSinkResponse + { + /// + /// If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + /// + public readonly object? DisableMetricsCollection; + /// + /// Teradata import settings. + /// + public readonly Outputs.TeradataImportCommandResponse? ImportSettings; + /// + /// The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + /// + public readonly object? MaxConcurrentConnections; + /// + /// Sink retry count. Type: integer (or Expression with resultType integer). + /// + public readonly object? SinkRetryCount; + /// + /// Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + /// + public readonly object? SinkRetryWait; + /// + /// Copy sink type. + /// Expected value is 'TeradataSink'. + /// + public readonly string Type; + /// + /// Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + /// + public readonly object? WriteBatchSize; + /// + /// Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + /// + public readonly object? WriteBatchTimeout; + + [OutputConstructor] + private TeradataSinkResponse( + object? disableMetricsCollection, + + Outputs.TeradataImportCommandResponse? importSettings, + + object? maxConcurrentConnections, + + object? sinkRetryCount, + + object? sinkRetryWait, + + string type, + + object? writeBatchSize, + + object? writeBatchTimeout) + { + DisableMetricsCollection = disableMetricsCollection; + ImportSettings = importSettings; + MaxConcurrentConnections = maxConcurrentConnections; + SinkRetryCount = sinkRetryCount; + SinkRetryWait = sinkRetryWait; + Type = type; + WriteBatchSize = writeBatchSize; + WriteBatchTimeout = writeBatchTimeout; + } + } +} diff --git a/sdk/dotnet/DataFactory/V20180601/Enums.cs b/sdk/dotnet/DataFactory/V20180601/Enums.cs index 8fe220415372..9d0c65adabcb 100644 --- a/sdk/dotnet/DataFactory/V20180601/Enums.cs +++ b/sdk/dotnet/DataFactory/V20180601/Enums.cs @@ -1633,6 +1633,36 @@ private ODataAuthenticationType(string value) public override string ToString() => _value; } + /// + /// Authentication type for connecting to the Oracle database. Only used for Version 2.0. + /// + [EnumType] + public readonly struct OracleAuthenticationType : IEquatable + { + private readonly string _value; + + private OracleAuthenticationType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static OracleAuthenticationType Basic { get; } = new OracleAuthenticationType("Basic"); + + public static bool operator ==(OracleAuthenticationType left, OracleAuthenticationType right) => left.Equals(right); + public static bool operator !=(OracleAuthenticationType left, OracleAuthenticationType right) => !left.Equals(right); + + public static explicit operator string(OracleAuthenticationType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OracleAuthenticationType other && Equals(other); + public bool Equals(OracleAuthenticationType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Parameter type. /// diff --git a/sdk/dotnet/DataFactory/V20180601/Inputs/AzurePostgreSqlLinkedServiceArgs.cs b/sdk/dotnet/DataFactory/V20180601/Inputs/AzurePostgreSqlLinkedServiceArgs.cs index ba590e82d4cc..a6770e396cfa 100644 --- a/sdk/dotnet/DataFactory/V20180601/Inputs/AzurePostgreSqlLinkedServiceArgs.cs +++ b/sdk/dotnet/DataFactory/V20180601/Inputs/AzurePostgreSqlLinkedServiceArgs.cs @@ -27,6 +27,12 @@ public InputList Annotations set => _annotations = value; } + /// + /// Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + /// + [Input("azureCloudType")] + public Input? AzureCloudType { get; set; } + /// /// The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. /// @@ -45,6 +51,12 @@ public InputList Annotations [Input("connectionString")] public Input? ConnectionString { get; set; } + /// + /// The credential reference containing authentication information. + /// + [Input("credential")] + public Input? Credential { get; set; } + /// /// Database name for connection. Type: string. /// @@ -105,12 +117,48 @@ public InputMap Parameters [Input("server")] public Input? Server { get; set; } + /// + /// The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + /// + [Input("servicePrincipalCredentialType")] + public Input? ServicePrincipalCredentialType { get; set; } + + /// + /// Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + /// + [Input("servicePrincipalEmbeddedCert")] + public InputUnion? ServicePrincipalEmbeddedCert { get; set; } + + /// + /// Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + /// + [Input("servicePrincipalEmbeddedCertPassword")] + public InputUnion? ServicePrincipalEmbeddedCertPassword { get; set; } + + /// + /// The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + /// + [Input("servicePrincipalId")] + public Input? ServicePrincipalId { get; set; } + + /// + /// The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + /// + [Input("servicePrincipalKey")] + public InputUnion? ServicePrincipalKey { get; set; } + /// /// SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. /// [Input("sslMode")] public Input? SslMode { get; set; } + /// + /// The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + /// + [Input("tenant")] + public Input? Tenant { get; set; } + /// /// The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. /// diff --git a/sdk/dotnet/DataFactory/V20180601/Inputs/OracleLinkedServiceArgs.cs b/sdk/dotnet/DataFactory/V20180601/Inputs/OracleLinkedServiceArgs.cs index 988a9deacc6e..d9901a5570a3 100644 --- a/sdk/dotnet/DataFactory/V20180601/Inputs/OracleLinkedServiceArgs.cs +++ b/sdk/dotnet/DataFactory/V20180601/Inputs/OracleLinkedServiceArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AzureNative.DataFactory.V20180601.Inputs { /// - /// Oracle database. + /// Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. /// public sealed class OracleLinkedServiceArgs : global::Pulumi.ResourceArgs { @@ -27,6 +27,12 @@ public InputList Annotations set => _annotations = value; } + /// + /// Authentication type for connecting to the Oracle database. Only used for Version 2.0. + /// + [Input("authenticationType")] + public InputUnion? AuthenticationType { get; set; } + /// /// The integration runtime reference. /// @@ -34,23 +40,77 @@ public InputList Annotations public Input? ConnectVia { get; set; } /// - /// The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + /// The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. /// [Input("connectionString", required: true)] public Input ConnectionString { get; set; } = null!; + /// + /// Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + /// + [Input("cryptoChecksumClient")] + public Input? CryptoChecksumClient { get; set; } + + /// + /// Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + /// + [Input("cryptoChecksumTypesClient")] + public Input? CryptoChecksumTypesClient { get; set; } + /// /// Linked service description. /// [Input("description")] public Input? Description { get; set; } + /// + /// Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + /// + [Input("enableBulkLoad")] + public Input? EnableBulkLoad { get; set; } + /// /// The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. /// [Input("encryptedCredential")] public Input? EncryptedCredential { get; set; } + /// + /// Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + /// + [Input("encryptionClient")] + public Input? EncryptionClient { get; set; } + + /// + /// Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + /// + [Input("encryptionTypesClient")] + public Input? EncryptionTypesClient { get; set; } + + /// + /// Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + /// + [Input("fetchSize")] + public Input? FetchSize { get; set; } + + /// + /// Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + /// + [Input("fetchTswtzAsTimestamp")] + public Input? FetchTswtzAsTimestamp { get; set; } + + /// + /// Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + /// + [Input("initialLobFetchSize")] + public Input? InitialLobFetchSize { get; set; } + + /// + /// Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + /// + [Input("initializationString")] + public Input? InitializationString { get; set; } + [Input("parameters")] private InputMap? _parameters; @@ -69,6 +129,24 @@ public InputMap Parameters [Input("password")] public Input? Password { get; set; } + /// + /// The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + /// + [Input("server")] + public Input? Server { get; set; } + + /// + /// Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + /// + [Input("statementCacheSize")] + public Input? StatementCacheSize { get; set; } + + /// + /// Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + /// + [Input("supportV1DataTypes")] + public Input? SupportV1DataTypes { get; set; } + /// /// Type of linked service. /// Expected value is 'Oracle'. @@ -76,6 +154,12 @@ public InputMap Parameters [Input("type", required: true)] public Input Type { get; set; } = null!; + /// + /// The Oracle database username. Type: string. Only used for Version 2.0. + /// + [Input("username")] + public Input? Username { get; set; } + /// /// Version of the linked service. /// diff --git a/sdk/dotnet/DataFactory/V20180601/Inputs/TeradataImportCommandArgs.cs b/sdk/dotnet/DataFactory/V20180601/Inputs/TeradataImportCommandArgs.cs new file mode 100644 index 000000000000..e4a8dcc79896 --- /dev/null +++ b/sdk/dotnet/DataFactory/V20180601/Inputs/TeradataImportCommandArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataFactory.V20180601.Inputs +{ + + /// + /// Teradata import command settings. + /// + public sealed class TeradataImportCommandArgs : global::Pulumi.ResourceArgs + { + /// + /// Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + /// + [Input("additionalFormatOptions")] + public Input? AdditionalFormatOptions { get; set; } + + /// + /// The import setting type. + /// Expected value is 'TeradataImportCommand'. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public TeradataImportCommandArgs() + { + } + public static new TeradataImportCommandArgs Empty => new TeradataImportCommandArgs(); + } +} diff --git a/sdk/dotnet/DataFactory/V20180601/Inputs/TeradataLinkedServiceArgs.cs b/sdk/dotnet/DataFactory/V20180601/Inputs/TeradataLinkedServiceArgs.cs index 2dbdc269e39a..cae4dc592d5e 100644 --- a/sdk/dotnet/DataFactory/V20180601/Inputs/TeradataLinkedServiceArgs.cs +++ b/sdk/dotnet/DataFactory/V20180601/Inputs/TeradataLinkedServiceArgs.cs @@ -33,6 +33,12 @@ public InputList Annotations [Input("authenticationType")] public InputUnion? AuthenticationType { get; set; } + /// + /// The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + /// + [Input("characterSet")] + public Input? CharacterSet { get; set; } + /// /// The integration runtime reference. /// @@ -40,7 +46,7 @@ public InputList Annotations public Input? ConnectVia { get; set; } /// - /// Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + /// Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. /// [Input("connectionString")] public Input? ConnectionString { get; set; } @@ -57,6 +63,18 @@ public InputList Annotations [Input("encryptedCredential")] public Input? EncryptedCredential { get; set; } + /// + /// The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + /// + [Input("httpsPortNumber")] + public Input? HttpsPortNumber { get; set; } + + /// + /// The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + /// + [Input("maxRespSize")] + public Input? MaxRespSize { get; set; } + [Input("parameters")] private InputMap? _parameters; @@ -75,12 +93,24 @@ public InputMap Parameters [Input("password")] public InputUnion? Password { get; set; } + /// + /// The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + /// + [Input("portNumber")] + public Input? PortNumber { get; set; } + /// /// Server name for connection. Type: string (or Expression with resultType string). /// [Input("server")] public Input? Server { get; set; } + /// + /// SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + /// + [Input("sslMode")] + public Input? SslMode { get; set; } + /// /// Type of linked service. /// Expected value is 'Teradata'. @@ -88,6 +118,12 @@ public InputMap Parameters [Input("type", required: true)] public Input Type { get; set; } = null!; + /// + /// Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + /// + [Input("useDataEncryption")] + public Input? UseDataEncryption { get; set; } + /// /// Username for authentication. Type: string (or Expression with resultType string). /// diff --git a/sdk/dotnet/DataFactory/V20180601/Inputs/TeradataSinkArgs.cs b/sdk/dotnet/DataFactory/V20180601/Inputs/TeradataSinkArgs.cs new file mode 100644 index 000000000000..048d6fd677e5 --- /dev/null +++ b/sdk/dotnet/DataFactory/V20180601/Inputs/TeradataSinkArgs.cs @@ -0,0 +1,72 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataFactory.V20180601.Inputs +{ + + /// + /// A copy activity Teradata sink. + /// + public sealed class TeradataSinkArgs : global::Pulumi.ResourceArgs + { + /// + /// If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + /// + [Input("disableMetricsCollection")] + public Input? DisableMetricsCollection { get; set; } + + /// + /// Teradata import settings. + /// + [Input("importSettings")] + public Input? ImportSettings { get; set; } + + /// + /// The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + /// + [Input("maxConcurrentConnections")] + public Input? MaxConcurrentConnections { get; set; } + + /// + /// Sink retry count. Type: integer (or Expression with resultType integer). + /// + [Input("sinkRetryCount")] + public Input? SinkRetryCount { get; set; } + + /// + /// Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + /// + [Input("sinkRetryWait")] + public Input? SinkRetryWait { get; set; } + + /// + /// Copy sink type. + /// Expected value is 'TeradataSink'. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + /// + [Input("writeBatchSize")] + public Input? WriteBatchSize { get; set; } + + /// + /// Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + /// + [Input("writeBatchTimeout")] + public Input? WriteBatchTimeout { get; set; } + + public TeradataSinkArgs() + { + } + public static new TeradataSinkArgs Empty => new TeradataSinkArgs(); + } +} diff --git a/sdk/dotnet/DataFactory/V20180601/Outputs/AzurePostgreSqlLinkedServiceResponse.cs b/sdk/dotnet/DataFactory/V20180601/Outputs/AzurePostgreSqlLinkedServiceResponse.cs index 10a50260f017..9e48f6f886b0 100644 --- a/sdk/dotnet/DataFactory/V20180601/Outputs/AzurePostgreSqlLinkedServiceResponse.cs +++ b/sdk/dotnet/DataFactory/V20180601/Outputs/AzurePostgreSqlLinkedServiceResponse.cs @@ -21,6 +21,10 @@ public sealed class AzurePostgreSqlLinkedServiceResponse /// public readonly ImmutableArray Annotations; /// + /// Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + /// + public readonly object? AzureCloudType; + /// /// The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. /// public readonly object? CommandTimeout; @@ -33,6 +37,10 @@ public sealed class AzurePostgreSqlLinkedServiceResponse /// public readonly object? ConnectionString; /// + /// The credential reference containing authentication information. + /// + public readonly Outputs.CredentialReferenceResponse? Credential; + /// /// Database name for connection. Type: string. /// public readonly object? Database; @@ -69,10 +77,34 @@ public sealed class AzurePostgreSqlLinkedServiceResponse /// public readonly object? Server; /// + /// The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + /// + public readonly object? ServicePrincipalCredentialType; + /// + /// Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + /// + public readonly Union? ServicePrincipalEmbeddedCert; + /// + /// Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + /// + public readonly Union? ServicePrincipalEmbeddedCertPassword; + /// + /// The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + /// + public readonly object? ServicePrincipalId; + /// + /// The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + /// + public readonly Union? ServicePrincipalKey; + /// /// SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. /// public readonly object? SslMode; /// + /// The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + /// + public readonly object? Tenant; + /// /// The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. /// public readonly object? Timeout; @@ -102,12 +134,16 @@ public sealed class AzurePostgreSqlLinkedServiceResponse private AzurePostgreSqlLinkedServiceResponse( ImmutableArray annotations, + object? azureCloudType, + object? commandTimeout, Outputs.IntegrationRuntimeReferenceResponse? connectVia, object? connectionString, + Outputs.CredentialReferenceResponse? credential, + object? database, string? description, @@ -126,8 +162,20 @@ private AzurePostgreSqlLinkedServiceResponse( object? server, + object? servicePrincipalCredentialType, + + Union? servicePrincipalEmbeddedCert, + + Union? servicePrincipalEmbeddedCertPassword, + + object? servicePrincipalId, + + Union? servicePrincipalKey, + object? sslMode, + object? tenant, + object? timeout, object? timezone, @@ -141,9 +189,11 @@ private AzurePostgreSqlLinkedServiceResponse( string? version) { Annotations = annotations; + AzureCloudType = azureCloudType; CommandTimeout = commandTimeout; ConnectVia = connectVia; ConnectionString = connectionString; + Credential = credential; Database = database; Description = description; Encoding = encoding; @@ -153,7 +203,13 @@ private AzurePostgreSqlLinkedServiceResponse( Port = port; ReadBufferSize = readBufferSize; Server = server; + ServicePrincipalCredentialType = servicePrincipalCredentialType; + ServicePrincipalEmbeddedCert = servicePrincipalEmbeddedCert; + ServicePrincipalEmbeddedCertPassword = servicePrincipalEmbeddedCertPassword; + ServicePrincipalId = servicePrincipalId; + ServicePrincipalKey = servicePrincipalKey; SslMode = sslMode; + Tenant = tenant; Timeout = timeout; Timezone = timezone; TrustServerCertificate = trustServerCertificate; diff --git a/sdk/dotnet/DataFactory/V20180601/Outputs/OracleLinkedServiceResponse.cs b/sdk/dotnet/DataFactory/V20180601/Outputs/OracleLinkedServiceResponse.cs index c0524700d03f..192a54a01bed 100644 --- a/sdk/dotnet/DataFactory/V20180601/Outputs/OracleLinkedServiceResponse.cs +++ b/sdk/dotnet/DataFactory/V20180601/Outputs/OracleLinkedServiceResponse.cs @@ -11,7 +11,7 @@ namespace Pulumi.AzureNative.DataFactory.V20180601.Outputs { /// - /// Oracle database. + /// Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. /// [OutputType] public sealed class OracleLinkedServiceResponse @@ -21,22 +21,62 @@ public sealed class OracleLinkedServiceResponse /// public readonly ImmutableArray Annotations; /// + /// Authentication type for connecting to the Oracle database. Only used for Version 2.0. + /// + public readonly string? AuthenticationType; + /// /// The integration runtime reference. /// public readonly Outputs.IntegrationRuntimeReferenceResponse? ConnectVia; /// - /// The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + /// The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. /// public readonly object ConnectionString; /// + /// Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + /// + public readonly object? CryptoChecksumClient; + /// + /// Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + /// + public readonly object? CryptoChecksumTypesClient; + /// /// Linked service description. /// public readonly string? Description; /// + /// Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + /// + public readonly object? EnableBulkLoad; + /// /// The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. /// public readonly string? EncryptedCredential; /// + /// Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + /// + public readonly object? EncryptionClient; + /// + /// Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + /// + public readonly object? EncryptionTypesClient; + /// + /// Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + /// + public readonly object? FetchSize; + /// + /// Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + /// + public readonly object? FetchTswtzAsTimestamp; + /// + /// Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + /// + public readonly object? InitialLobFetchSize; + /// + /// Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + /// + public readonly object? InitializationString; + /// /// Parameters for linked service. /// public readonly ImmutableDictionary? Parameters; @@ -45,11 +85,27 @@ public sealed class OracleLinkedServiceResponse /// public readonly Outputs.AzureKeyVaultSecretReferenceResponse? Password; /// + /// The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + /// + public readonly object? Server; + /// + /// Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + /// + public readonly object? StatementCacheSize; + /// + /// Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + /// + public readonly object? SupportV1DataTypes; + /// /// Type of linked service. /// Expected value is 'Oracle'. /// public readonly string Type; /// + /// The Oracle database username. Type: string. Only used for Version 2.0. + /// + public readonly object? Username; + /// /// Version of the linked service. /// public readonly string? Version; @@ -58,30 +114,72 @@ public sealed class OracleLinkedServiceResponse private OracleLinkedServiceResponse( ImmutableArray annotations, + string? authenticationType, + Outputs.IntegrationRuntimeReferenceResponse? connectVia, object connectionString, + object? cryptoChecksumClient, + + object? cryptoChecksumTypesClient, + string? description, + object? enableBulkLoad, + string? encryptedCredential, + object? encryptionClient, + + object? encryptionTypesClient, + + object? fetchSize, + + object? fetchTswtzAsTimestamp, + + object? initialLobFetchSize, + + object? initializationString, + ImmutableDictionary? parameters, Outputs.AzureKeyVaultSecretReferenceResponse? password, + object? server, + + object? statementCacheSize, + + object? supportV1DataTypes, + string type, + object? username, + string? version) { Annotations = annotations; + AuthenticationType = authenticationType; ConnectVia = connectVia; ConnectionString = connectionString; + CryptoChecksumClient = cryptoChecksumClient; + CryptoChecksumTypesClient = cryptoChecksumTypesClient; Description = description; + EnableBulkLoad = enableBulkLoad; EncryptedCredential = encryptedCredential; + EncryptionClient = encryptionClient; + EncryptionTypesClient = encryptionTypesClient; + FetchSize = fetchSize; + FetchTswtzAsTimestamp = fetchTswtzAsTimestamp; + InitialLobFetchSize = initialLobFetchSize; + InitializationString = initializationString; Parameters = parameters; Password = password; + Server = server; + StatementCacheSize = statementCacheSize; + SupportV1DataTypes = supportV1DataTypes; Type = type; + Username = username; Version = version; } } diff --git a/sdk/dotnet/DataFactory/V20180601/Outputs/TeradataImportCommandResponse.cs b/sdk/dotnet/DataFactory/V20180601/Outputs/TeradataImportCommandResponse.cs new file mode 100644 index 000000000000..a7876dfaadc2 --- /dev/null +++ b/sdk/dotnet/DataFactory/V20180601/Outputs/TeradataImportCommandResponse.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataFactory.V20180601.Outputs +{ + + /// + /// Teradata import command settings. + /// + [OutputType] + public sealed class TeradataImportCommandResponse + { + /// + /// Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + /// + public readonly object? AdditionalFormatOptions; + /// + /// The import setting type. + /// Expected value is 'TeradataImportCommand'. + /// + public readonly string Type; + + [OutputConstructor] + private TeradataImportCommandResponse( + object? additionalFormatOptions, + + string type) + { + AdditionalFormatOptions = additionalFormatOptions; + Type = type; + } + } +} diff --git a/sdk/dotnet/DataFactory/V20180601/Outputs/TeradataLinkedServiceResponse.cs b/sdk/dotnet/DataFactory/V20180601/Outputs/TeradataLinkedServiceResponse.cs index 6f6f72763bf0..180269e0390c 100644 --- a/sdk/dotnet/DataFactory/V20180601/Outputs/TeradataLinkedServiceResponse.cs +++ b/sdk/dotnet/DataFactory/V20180601/Outputs/TeradataLinkedServiceResponse.cs @@ -25,11 +25,15 @@ public sealed class TeradataLinkedServiceResponse /// public readonly string? AuthenticationType; /// + /// The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + /// + public readonly object? CharacterSet; + /// /// The integration runtime reference. /// public readonly Outputs.IntegrationRuntimeReferenceResponse? ConnectVia; /// - /// Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + /// Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. /// public readonly object? ConnectionString; /// @@ -41,6 +45,14 @@ public sealed class TeradataLinkedServiceResponse /// public readonly string? EncryptedCredential; /// + /// The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + /// + public readonly object? HttpsPortNumber; + /// + /// The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + /// + public readonly object? MaxRespSize; + /// /// Parameters for linked service. /// public readonly ImmutableDictionary? Parameters; @@ -49,15 +61,27 @@ public sealed class TeradataLinkedServiceResponse /// public readonly Union? Password; /// + /// The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + /// + public readonly object? PortNumber; + /// /// Server name for connection. Type: string (or Expression with resultType string). /// public readonly object? Server; /// + /// SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + /// + public readonly object? SslMode; + /// /// Type of linked service. /// Expected value is 'Teradata'. /// public readonly string Type; /// + /// Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + /// + public readonly object? UseDataEncryption; + /// /// Username for authentication. Type: string (or Expression with resultType string). /// public readonly object? Username; @@ -72,6 +96,8 @@ private TeradataLinkedServiceResponse( string? authenticationType, + object? characterSet, + Outputs.IntegrationRuntimeReferenceResponse? connectVia, object? connectionString, @@ -80,28 +106,44 @@ private TeradataLinkedServiceResponse( string? encryptedCredential, + object? httpsPortNumber, + + object? maxRespSize, + ImmutableDictionary? parameters, Union? password, + object? portNumber, + object? server, + object? sslMode, + string type, + object? useDataEncryption, + object? username, string? version) { Annotations = annotations; AuthenticationType = authenticationType; + CharacterSet = characterSet; ConnectVia = connectVia; ConnectionString = connectionString; Description = description; EncryptedCredential = encryptedCredential; + HttpsPortNumber = httpsPortNumber; + MaxRespSize = maxRespSize; Parameters = parameters; Password = password; + PortNumber = portNumber; Server = server; + SslMode = sslMode; Type = type; + UseDataEncryption = useDataEncryption; Username = username; Version = version; } diff --git a/sdk/dotnet/DataFactory/V20180601/Outputs/TeradataSinkResponse.cs b/sdk/dotnet/DataFactory/V20180601/Outputs/TeradataSinkResponse.cs new file mode 100644 index 000000000000..b39f5177edae --- /dev/null +++ b/sdk/dotnet/DataFactory/V20180601/Outputs/TeradataSinkResponse.cs @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataFactory.V20180601.Outputs +{ + + /// + /// A copy activity Teradata sink. + /// + [OutputType] + public sealed class TeradataSinkResponse + { + /// + /// If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + /// + public readonly object? DisableMetricsCollection; + /// + /// Teradata import settings. + /// + public readonly Outputs.TeradataImportCommandResponse? ImportSettings; + /// + /// The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + /// + public readonly object? MaxConcurrentConnections; + /// + /// Sink retry count. Type: integer (or Expression with resultType integer). + /// + public readonly object? SinkRetryCount; + /// + /// Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + /// + public readonly object? SinkRetryWait; + /// + /// Copy sink type. + /// Expected value is 'TeradataSink'. + /// + public readonly string Type; + /// + /// Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + /// + public readonly object? WriteBatchSize; + /// + /// Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + /// + public readonly object? WriteBatchTimeout; + + [OutputConstructor] + private TeradataSinkResponse( + object? disableMetricsCollection, + + Outputs.TeradataImportCommandResponse? importSettings, + + object? maxConcurrentConnections, + + object? sinkRetryCount, + + object? sinkRetryWait, + + string type, + + object? writeBatchSize, + + object? writeBatchTimeout) + { + DisableMetricsCollection = disableMetricsCollection; + ImportSettings = importSettings; + MaxConcurrentConnections = maxConcurrentConnections; + SinkRetryCount = sinkRetryCount; + SinkRetryWait = sinkRetryWait; + Type = type; + WriteBatchSize = writeBatchSize; + WriteBatchTimeout = writeBatchTimeout; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/GetPool.cs b/sdk/dotnet/DevOpsInfrastructure/GetPool.cs index 09a3f995f9fe..988a5f69157d 100644 --- a/sdk/dotnet/DevOpsInfrastructure/GetPool.cs +++ b/sdk/dotnet/DevOpsInfrastructure/GetPool.cs @@ -15,7 +15,7 @@ public static class GetPool /// Get a Pool /// Azure REST API version: 2023-10-30-preview. /// - /// Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19. + /// Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21. /// public static Task InvokeAsync(GetPoolArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:devopsinfrastructure:getPool", args ?? new GetPoolArgs(), options.WithDefaults()); @@ -24,7 +24,7 @@ public static Task InvokeAsync(GetPoolArgs args, InvokeOptions? o /// Get a Pool /// Azure REST API version: 2023-10-30-preview. /// - /// Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19. + /// Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21. /// public static Output Invoke(GetPoolInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("azure-native:devopsinfrastructure:getPool", args ?? new GetPoolInvokeArgs(), options.WithDefaults()); @@ -33,7 +33,7 @@ public static Output Invoke(GetPoolInvokeArgs args, InvokeOptions /// Get a Pool /// Azure REST API version: 2023-10-30-preview. /// - /// Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19. + /// Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21. /// public static Output Invoke(GetPoolInvokeArgs args, InvokeOutputOptions options) => global::Pulumi.Deployment.Instance.Invoke("azure-native:devopsinfrastructure:getPool", args ?? new GetPoolInvokeArgs(), options.WithDefaults()); diff --git a/sdk/dotnet/DevOpsInfrastructure/Pool.cs b/sdk/dotnet/DevOpsInfrastructure/Pool.cs index 620eb901c02a..dd6022f7bae3 100644 --- a/sdk/dotnet/DevOpsInfrastructure/Pool.cs +++ b/sdk/dotnet/DevOpsInfrastructure/Pool.cs @@ -13,7 +13,7 @@ namespace Pulumi.AzureNative.DevOpsInfrastructure /// Concrete tracked resource types can be created by aliasing this type using a specific property type. /// Azure REST API version: 2023-10-30-preview. /// - /// Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19. + /// Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21. /// [AzureNativeResourceType("azure-native:devopsinfrastructure:Pool")] public partial class Pool : global::Pulumi.CustomResource @@ -120,6 +120,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20240326preview:Pool" }, new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20240404preview:Pool" }, new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20241019:Pool" }, + new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20250121:Pool" }, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DevOpsInfrastructure/V20231030Preview/Pool.cs b/sdk/dotnet/DevOpsInfrastructure/V20231030Preview/Pool.cs index 066e4af3c8b8..cb65d493ba25 100644 --- a/sdk/dotnet/DevOpsInfrastructure/V20231030Preview/Pool.cs +++ b/sdk/dotnet/DevOpsInfrastructure/V20231030Preview/Pool.cs @@ -117,6 +117,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20240326preview:Pool" }, new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20240404preview:Pool" }, new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20241019:Pool" }, + new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20250121:Pool" }, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DevOpsInfrastructure/V20231213Preview/Pool.cs b/sdk/dotnet/DevOpsInfrastructure/V20231213Preview/Pool.cs index 3811cce60389..fe77ec6f376d 100644 --- a/sdk/dotnet/DevOpsInfrastructure/V20231213Preview/Pool.cs +++ b/sdk/dotnet/DevOpsInfrastructure/V20231213Preview/Pool.cs @@ -117,6 +117,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20240326preview:Pool" }, new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20240404preview:Pool" }, new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20241019:Pool" }, + new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20250121:Pool" }, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DevOpsInfrastructure/V20240326Preview/Pool.cs b/sdk/dotnet/DevOpsInfrastructure/V20240326Preview/Pool.cs index a0218650e251..5776e5a2a6f8 100644 --- a/sdk/dotnet/DevOpsInfrastructure/V20240326Preview/Pool.cs +++ b/sdk/dotnet/DevOpsInfrastructure/V20240326Preview/Pool.cs @@ -117,6 +117,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20231213preview:Pool" }, new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20240404preview:Pool" }, new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20241019:Pool" }, + new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20250121:Pool" }, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DevOpsInfrastructure/V20240404Preview/Pool.cs b/sdk/dotnet/DevOpsInfrastructure/V20240404Preview/Pool.cs index bf5f7b97999d..b0850845d025 100644 --- a/sdk/dotnet/DevOpsInfrastructure/V20240404Preview/Pool.cs +++ b/sdk/dotnet/DevOpsInfrastructure/V20240404Preview/Pool.cs @@ -117,6 +117,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20231213preview:Pool" }, new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20240326preview:Pool" }, new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20241019:Pool" }, + new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20250121:Pool" }, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DevOpsInfrastructure/V20241019/Pool.cs b/sdk/dotnet/DevOpsInfrastructure/V20241019/Pool.cs index c7b24e2c2f4a..c06c5687eece 100644 --- a/sdk/dotnet/DevOpsInfrastructure/V20241019/Pool.cs +++ b/sdk/dotnet/DevOpsInfrastructure/V20241019/Pool.cs @@ -117,6 +117,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20231213preview:Pool" }, new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20240326preview:Pool" }, new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20240404preview:Pool" }, + new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20250121:Pool" }, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Enums.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Enums.cs new file mode 100644 index 000000000000..6ab1f144163b --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Enums.cs @@ -0,0 +1,472 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121 +{ + /// + /// Determines who has admin permissions to the Azure DevOps pool. + /// + [EnumType] + public readonly struct AzureDevOpsPermissionType : IEquatable + { + private readonly string _value; + + private AzureDevOpsPermissionType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Pool will inherit permissions from the project or organization. + /// + public static AzureDevOpsPermissionType Inherit { get; } = new AzureDevOpsPermissionType("Inherit"); + /// + /// Only the pool creator will be an admin of the pool. + /// + public static AzureDevOpsPermissionType CreatorOnly { get; } = new AzureDevOpsPermissionType("CreatorOnly"); + /// + /// Only the specified accounts will be admins of the pool. + /// + public static AzureDevOpsPermissionType SpecificAccounts { get; } = new AzureDevOpsPermissionType("SpecificAccounts"); + + public static bool operator ==(AzureDevOpsPermissionType left, AzureDevOpsPermissionType right) => left.Equals(right); + public static bool operator !=(AzureDevOpsPermissionType left, AzureDevOpsPermissionType right) => !left.Equals(right); + + public static explicit operator string(AzureDevOpsPermissionType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AzureDevOpsPermissionType other && Equals(other); + public bool Equals(AzureDevOpsPermissionType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. + /// + [EnumType] + public readonly struct CachingType : IEquatable + { + private readonly string _value; + + private CachingType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Don't use host caching. + /// + public static CachingType None { get; } = new CachingType("None"); + /// + /// For workloads that only do read operations. + /// + public static CachingType ReadOnly { get; } = new CachingType("ReadOnly"); + /// + /// For workloads that do a balance of read and write operations. + /// + public static CachingType ReadWrite { get; } = new CachingType("ReadWrite"); + + public static bool operator ==(CachingType left, CachingType right) => left.Equals(right); + public static bool operator !=(CachingType left, CachingType right) => !left.Equals(right); + + public static explicit operator string(CachingType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CachingType other && Equals(other); + public bool Equals(CachingType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported. + /// + [EnumType] + public readonly struct CertificateStoreNameOption : IEquatable + { + private readonly string _value; + + private CertificateStoreNameOption(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// The X.509 certificate store for personal certificates. + /// + public static CertificateStoreNameOption My { get; } = new CertificateStoreNameOption("My"); + /// + /// The X.509 certificate store for trusted root certificate authorities (CAs). + /// + public static CertificateStoreNameOption Root { get; } = new CertificateStoreNameOption("Root"); + + public static bool operator ==(CertificateStoreNameOption left, CertificateStoreNameOption right) => left.Equals(right); + public static bool operator !=(CertificateStoreNameOption left, CertificateStoreNameOption right) => !left.Equals(right); + + public static explicit operator string(CertificateStoreNameOption value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CertificateStoreNameOption other && Equals(other); + public bool Equals(CertificateStoreNameOption other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The ephemeral type of the image. + /// + [EnumType] + public readonly struct EphemeralType : IEquatable + { + private readonly string _value; + + private EphemeralType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Ephemeral is handled by Managed DevOps Pools service. + /// + public static EphemeralType Automatic { get; } = new EphemeralType("Automatic"); + /// + /// CacheDisk ephemeral only, requires that the SKU has a cache that is large enough for the image. + /// + public static EphemeralType CacheDisk { get; } = new EphemeralType("CacheDisk"); + /// + /// ResourceDisk ephemeral only, requires only that the SKU supports it. + /// + public static EphemeralType ResourceDisk { get; } = new EphemeralType("ResourceDisk"); + + public static bool operator ==(EphemeralType left, EphemeralType right) => left.Equals(right); + public static bool operator !=(EphemeralType left, EphemeralType right) => !left.Equals(right); + + public static explicit operator string(EphemeralType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is EphemeralType other && Equals(other); + public bool Equals(EphemeralType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Determines how the service should be run. By default, this will be set to Service. + /// + [EnumType] + public readonly struct LogonType : IEquatable + { + private readonly string _value; + + private LogonType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Run as a service. + /// + public static LogonType Service { get; } = new LogonType("Service"); + /// + /// Run in interactive mode. + /// + public static LogonType Interactive { get; } = new LogonType("Interactive"); + + public static bool operator ==(LogonType left, LogonType right) => left.Equals(right); + public static bool operator !=(LogonType left, LogonType right) => !left.Equals(right); + + public static explicit operator string(LogonType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is LogonType other && Equals(other); + public bool Equals(LogonType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [EnumType] + public readonly struct ManagedServiceIdentityType : IEquatable + { + private readonly string _value; + + private ManagedServiceIdentityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ManagedServiceIdentityType None { get; } = new ManagedServiceIdentityType("None"); + public static ManagedServiceIdentityType SystemAssigned { get; } = new ManagedServiceIdentityType("SystemAssigned"); + public static ManagedServiceIdentityType UserAssigned { get; } = new ManagedServiceIdentityType("UserAssigned"); + public static ManagedServiceIdentityType SystemAssigned_UserAssigned { get; } = new ManagedServiceIdentityType("SystemAssigned,UserAssigned"); + + public static bool operator ==(ManagedServiceIdentityType left, ManagedServiceIdentityType right) => left.Equals(right); + public static bool operator !=(ManagedServiceIdentityType left, ManagedServiceIdentityType right) => !left.Equals(right); + + public static explicit operator string(ManagedServiceIdentityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ManagedServiceIdentityType other && Equals(other); + public bool Equals(ManagedServiceIdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The Azure SKU name of the machines in the pool. + /// + [EnumType] + public readonly struct OsDiskStorageAccountType : IEquatable + { + private readonly string _value; + + private OsDiskStorageAccountType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Standard OS disk type. + /// + public static OsDiskStorageAccountType Standard { get; } = new OsDiskStorageAccountType("Standard"); + /// + /// Premium OS disk type. + /// + public static OsDiskStorageAccountType Premium { get; } = new OsDiskStorageAccountType("Premium"); + /// + /// Standard SSD OS disk type. + /// + public static OsDiskStorageAccountType StandardSSD { get; } = new OsDiskStorageAccountType("StandardSSD"); + + public static bool operator ==(OsDiskStorageAccountType left, OsDiskStorageAccountType right) => left.Equals(right); + public static bool operator !=(OsDiskStorageAccountType left, OsDiskStorageAccountType right) => !left.Equals(right); + + public static explicit operator string(OsDiskStorageAccountType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OsDiskStorageAccountType other && Equals(other); + public bool Equals(OsDiskStorageAccountType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Determines the balance between cost and performance. + /// + [EnumType] + public readonly struct PredictionPreference : IEquatable + { + private readonly string _value; + + private PredictionPreference(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Balance between cost and performance. + /// + public static PredictionPreference Balanced { get; } = new PredictionPreference("Balanced"); + /// + /// Optimizes for cost over performance. + /// + public static PredictionPreference MostCostEffective { get; } = new PredictionPreference("MostCostEffective"); + /// + /// Halfway through cost and balanced. + /// + public static PredictionPreference MoreCostEffective { get; } = new PredictionPreference("MoreCostEffective"); + /// + /// Halfway through balanced and performance. + /// + public static PredictionPreference MorePerformance { get; } = new PredictionPreference("MorePerformance"); + /// + /// Optimizes for performance over cost. + /// + public static PredictionPreference BestPerformance { get; } = new PredictionPreference("BestPerformance"); + + public static bool operator ==(PredictionPreference left, PredictionPreference right) => left.Equals(right); + public static bool operator !=(PredictionPreference left, PredictionPreference right) => !left.Equals(right); + + public static explicit operator string(PredictionPreference value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PredictionPreference other && Equals(other); + public bool Equals(PredictionPreference other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The status of the current operation. + /// + [EnumType] + public readonly struct ProvisioningState : IEquatable + { + private readonly string _value; + + private ProvisioningState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Represents a succeeded operation. + /// + public static ProvisioningState Succeeded { get; } = new ProvisioningState("Succeeded"); + /// + /// Represents a failed operation. + /// + public static ProvisioningState Failed { get; } = new ProvisioningState("Failed"); + /// + /// Represents a canceled operation. + /// + public static ProvisioningState Canceled { get; } = new ProvisioningState("Canceled"); + /// + /// Represents a pending operation. + /// + public static ProvisioningState Provisioning { get; } = new ProvisioningState("Provisioning"); + /// + /// Represents a pending operation. + /// + public static ProvisioningState Updating { get; } = new ProvisioningState("Updating"); + /// + /// Represents an operation under deletion. + /// + public static ProvisioningState Deleting { get; } = new ProvisioningState("Deleting"); + /// + /// Represents an accepted operation. + /// + public static ProvisioningState Accepted { get; } = new ProvisioningState("Accepted"); + + public static bool operator ==(ProvisioningState left, ProvisioningState right) => left.Equals(right); + public static bool operator !=(ProvisioningState left, ProvisioningState right) => !left.Equals(right); + + public static explicit operator string(ProvisioningState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ProvisioningState other && Equals(other); + public bool Equals(ProvisioningState other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Determines how the stand-by scheme should be provided. + /// + [EnumType] + public readonly struct ResourcePredictionsProfileType : IEquatable + { + private readonly string _value; + + private ResourcePredictionsProfileType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Customer provides the stand-by agent scheme. + /// + public static ResourcePredictionsProfileType Manual { get; } = new ResourcePredictionsProfileType("Manual"); + /// + /// The stand-by agent scheme is determined based on historical demand. + /// + public static ResourcePredictionsProfileType Automatic { get; } = new ResourcePredictionsProfileType("Automatic"); + + public static bool operator ==(ResourcePredictionsProfileType left, ResourcePredictionsProfileType right) => left.Equals(right); + public static bool operator !=(ResourcePredictionsProfileType left, ResourcePredictionsProfileType right) => !left.Equals(right); + + public static explicit operator string(ResourcePredictionsProfileType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ResourcePredictionsProfileType other && Equals(other); + public bool Equals(ResourcePredictionsProfileType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". + /// + [EnumType] + public readonly struct StorageAccountType : IEquatable + { + private readonly string _value; + + private StorageAccountType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// The data disk should use standard locally redundant storage. + /// + public static StorageAccountType StandardLRS { get; } = new StorageAccountType("Standard_LRS"); + /// + /// The data disk should use premium locally redundant storage. + /// + public static StorageAccountType PremiumLRS { get; } = new StorageAccountType("Premium_LRS"); + /// + /// The data disk should use standard SSD locally redundant storage. + /// + public static StorageAccountType StandardSSDLRS { get; } = new StorageAccountType("StandardSSD_LRS"); + /// + /// The data disk should use premium SSD zonal redundant storage. + /// + public static StorageAccountType PremiumZRS { get; } = new StorageAccountType("Premium_ZRS"); + /// + /// The data disk should use standard SSD zonal redundant storage. + /// + public static StorageAccountType StandardSSDZRS { get; } = new StorageAccountType("StandardSSD_ZRS"); + + public static bool operator ==(StorageAccountType left, StorageAccountType right) => left.Equals(right); + public static bool operator !=(StorageAccountType left, StorageAccountType right) => !left.Equals(right); + + public static explicit operator string(StorageAccountType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StorageAccountType other && Equals(other); + public bool Equals(StorageAccountType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/GetPool.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/GetPool.cs new file mode 100644 index 000000000000..22f43cfb95e4 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/GetPool.cs @@ -0,0 +1,174 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121 +{ + public static class GetPool + { + /// + /// Get a Pool + /// + public static Task InvokeAsync(GetPoolArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:devopsinfrastructure/v20250121:getPool", args ?? new GetPoolArgs(), options.WithDefaults()); + + /// + /// Get a Pool + /// + public static Output Invoke(GetPoolInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:devopsinfrastructure/v20250121:getPool", args ?? new GetPoolInvokeArgs(), options.WithDefaults()); + + /// + /// Get a Pool + /// + public static Output Invoke(GetPoolInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:devopsinfrastructure/v20250121:getPool", args ?? new GetPoolInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetPoolArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the pool. It needs to be globally unique. + /// + [Input("poolName", required: true)] + public string PoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetPoolArgs() + { + } + public static new GetPoolArgs Empty => new GetPoolArgs(); + } + + public sealed class GetPoolInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the pool. It needs to be globally unique. + /// + [Input("poolName", required: true)] + public Input PoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetPoolInvokeArgs() + { + } + public static new GetPoolInvokeArgs Empty => new GetPoolInvokeArgs(); + } + + + [OutputType] + public sealed class GetPoolResult + { + /// + /// Defines how the machine will be handled once it executed a job. + /// + public readonly Union AgentProfile; + /// + /// The resource id of the DevCenter Project the pool belongs to. + /// + public readonly string DevCenterProjectResourceId; + /// + /// Defines the type of fabric the agent will run on. + /// + public readonly Outputs.VmssFabricProfileResponse FabricProfile; + /// + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + /// + public readonly string Id; + /// + /// The managed service identities assigned to this resource. + /// + public readonly Outputs.ManagedServiceIdentityResponse? Identity; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// Defines how many resources can there be created at any given time. + /// + public readonly int MaximumConcurrency; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// Defines the organization in which the pool will be used. + /// + public readonly Union OrganizationProfile; + /// + /// The status of the current operation. + /// + public readonly string? ProvisioningState; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetPoolResult( + Union agentProfile, + + string devCenterProjectResourceId, + + Outputs.VmssFabricProfileResponse fabricProfile, + + string id, + + Outputs.ManagedServiceIdentityResponse? identity, + + string location, + + int maximumConcurrency, + + string name, + + Union organizationProfile, + + string? provisioningState, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type) + { + AgentProfile = agentProfile; + DevCenterProjectResourceId = devCenterProjectResourceId; + FabricProfile = fabricProfile; + Id = id; + Identity = identity; + Location = location; + MaximumConcurrency = maximumConcurrency; + Name = name; + OrganizationProfile = organizationProfile; + ProvisioningState = provisioningState; + SystemData = systemData; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/AutomaticResourcePredictionsProfileArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/AutomaticResourcePredictionsProfileArgs.cs new file mode 100644 index 000000000000..2bc4ac3bf424 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/AutomaticResourcePredictionsProfileArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// The stand-by agent scheme is determined based on historical demand. + /// + public sealed class AutomaticResourcePredictionsProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Determines how the stand-by scheme should be provided. + /// Expected value is 'Automatic'. + /// + [Input("kind", required: true)] + public Input Kind { get; set; } = null!; + + /// + /// Determines the balance between cost and performance. + /// + [Input("predictionPreference")] + public InputUnion? PredictionPreference { get; set; } + + public AutomaticResourcePredictionsProfileArgs() + { + } + public static new AutomaticResourcePredictionsProfileArgs Empty => new AutomaticResourcePredictionsProfileArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/AzureDevOpsOrganizationProfileArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/AzureDevOpsOrganizationProfileArgs.cs new file mode 100644 index 000000000000..b5873bdf7278 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/AzureDevOpsOrganizationProfileArgs.cs @@ -0,0 +1,48 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// Azure DevOps organization profile + /// + public sealed class AzureDevOpsOrganizationProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Discriminator property for OrganizationProfile. + /// Expected value is 'AzureDevOps'. + /// + [Input("kind", required: true)] + public Input Kind { get; set; } = null!; + + [Input("organizations", required: true)] + private InputList? _organizations; + + /// + /// The list of Azure DevOps organizations the pool should be present in. + /// + public InputList Organizations + { + get => _organizations ?? (_organizations = new InputList()); + set => _organizations = value; + } + + /// + /// The type of permission which determines which accounts are admins on the Azure DevOps pool. + /// + [Input("permissionProfile")] + public Input? PermissionProfile { get; set; } + + public AzureDevOpsOrganizationProfileArgs() + { + } + public static new AzureDevOpsOrganizationProfileArgs Empty => new AzureDevOpsOrganizationProfileArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/AzureDevOpsPermissionProfileArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/AzureDevOpsPermissionProfileArgs.cs new file mode 100644 index 000000000000..17ca0a5d131b --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/AzureDevOpsPermissionProfileArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// Defines the type of Azure DevOps pool permission. + /// + public sealed class AzureDevOpsPermissionProfileArgs : global::Pulumi.ResourceArgs + { + [Input("groups")] + private InputList? _groups; + + /// + /// Group email addresses + /// + public InputList Groups + { + get => _groups ?? (_groups = new InputList()); + set => _groups = value; + } + + /// + /// Determines who has admin permissions to the Azure DevOps pool. + /// + [Input("kind", required: true)] + public InputUnion Kind { get; set; } = null!; + + [Input("users")] + private InputList? _users; + + /// + /// User email addresses + /// + public InputList Users + { + get => _users ?? (_users = new InputList()); + set => _users = value; + } + + public AzureDevOpsPermissionProfileArgs() + { + } + public static new AzureDevOpsPermissionProfileArgs Empty => new AzureDevOpsPermissionProfileArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/DataDiskArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/DataDiskArgs.cs new file mode 100644 index 000000000000..1aaeb29828d2 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/DataDiskArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// The data disk of the VMSS. + /// + public sealed class DataDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. + /// + [Input("caching")] + public InputUnion? Caching { get; set; } + + /// + /// The initial disk size in gigabytes. + /// + [Input("diskSizeGiB")] + public Input? DiskSizeGiB { get; set; } + + /// + /// The drive letter for the empty data disk. If not specified, it will be the first available letter. + /// + [Input("driveLetter")] + public Input? DriveLetter { get; set; } + + /// + /// The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". + /// + [Input("storageAccountType")] + public InputUnion? StorageAccountType { get; set; } + + public DataDiskArgs() + { + } + public static new DataDiskArgs Empty => new DataDiskArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/DevOpsAzureSkuArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/DevOpsAzureSkuArgs.cs new file mode 100644 index 000000000000..bd1eb8453520 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/DevOpsAzureSkuArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// The Azure SKU of the machines in the pool. + /// + public sealed class DevOpsAzureSkuArgs : global::Pulumi.ResourceArgs + { + /// + /// The Azure SKU name of the machines in the pool. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public DevOpsAzureSkuArgs() + { + } + public static new DevOpsAzureSkuArgs Empty => new DevOpsAzureSkuArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/GitHubOrganizationArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/GitHubOrganizationArgs.cs new file mode 100644 index 000000000000..a8e44ee4267a --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/GitHubOrganizationArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// Defines a GitHub organization + /// + public sealed class GitHubOrganizationArgs : global::Pulumi.ResourceArgs + { + [Input("repositories")] + private InputList? _repositories; + + /// + /// Optional list of repositories in which the pool should be created. + /// + public InputList Repositories + { + get => _repositories ?? (_repositories = new InputList()); + set => _repositories = value; + } + + /// + /// The GitHub organization URL in which the pool should be created. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public GitHubOrganizationArgs() + { + } + public static new GitHubOrganizationArgs Empty => new GitHubOrganizationArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/GitHubOrganizationProfileArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/GitHubOrganizationProfileArgs.cs new file mode 100644 index 000000000000..e40ae3dc24e4 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/GitHubOrganizationProfileArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// GitHub organization profile + /// + public sealed class GitHubOrganizationProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Discriminator property for OrganizationProfile. + /// Expected value is 'GitHub'. + /// + [Input("kind", required: true)] + public Input Kind { get; set; } = null!; + + [Input("organizations", required: true)] + private InputList? _organizations; + + /// + /// The list of GitHub organizations/repositories the pool should be present in. + /// + public InputList Organizations + { + get => _organizations ?? (_organizations = new InputList()); + set => _organizations = value; + } + + public GitHubOrganizationProfileArgs() + { + } + public static new GitHubOrganizationProfileArgs Empty => new GitHubOrganizationProfileArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/ManagedServiceIdentityArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/ManagedServiceIdentityArgs.cs new file mode 100644 index 000000000000..c7916d585623 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/ManagedServiceIdentityArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + public sealed class ManagedServiceIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Input("type", required: true)] + public InputUnion Type { get; set; } = null!; + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } + + public ManagedServiceIdentityArgs() + { + } + public static new ManagedServiceIdentityArgs Empty => new ManagedServiceIdentityArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/ManualResourcePredictionsProfileArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/ManualResourcePredictionsProfileArgs.cs new file mode 100644 index 000000000000..0cecc7bce32e --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/ManualResourcePredictionsProfileArgs.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// Customer provides the stand-by agent scheme. + /// + public sealed class ManualResourcePredictionsProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Determines how the stand-by scheme should be provided. + /// Expected value is 'Manual'. + /// + [Input("kind", required: true)] + public Input Kind { get; set; } = null!; + + public ManualResourcePredictionsProfileArgs() + { + } + public static new ManualResourcePredictionsProfileArgs Empty => new ManualResourcePredictionsProfileArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/NetworkProfileArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/NetworkProfileArgs.cs new file mode 100644 index 000000000000..9d103cc2fa81 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/NetworkProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// The network profile of the machines in the pool. + /// + public sealed class NetworkProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// The subnet id on which to put all machines created in the pool. + /// + [Input("subnetId", required: true)] + public Input SubnetId { get; set; } = null!; + + public NetworkProfileArgs() + { + } + public static new NetworkProfileArgs Empty => new NetworkProfileArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/OrganizationArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/OrganizationArgs.cs new file mode 100644 index 000000000000..08c015401df8 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/OrganizationArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// Defines an Azure DevOps organization. + /// + public sealed class OrganizationArgs : global::Pulumi.ResourceArgs + { + /// + /// Determines if the pool should have open access to all projects in this organization. + /// + [Input("openAccess")] + public Input? OpenAccess { get; set; } + + /// + /// How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool. + /// + [Input("parallelism")] + public Input? Parallelism { get; set; } + + [Input("projects")] + private InputList? _projects; + + /// + /// Optional list of projects in which the pool should be created. + /// + public InputList Projects + { + get => _projects ?? (_projects = new InputList()); + set => _projects = value; + } + + /// + /// The Azure DevOps organization URL in which the pool should be created. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public OrganizationArgs() + { + } + public static new OrganizationArgs Empty => new OrganizationArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/OsProfileArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/OsProfileArgs.cs new file mode 100644 index 000000000000..ce73696afc60 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/OsProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// The OS profile of the machines in the pool. + /// + public sealed class OsProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Determines how the service should be run. By default, this will be set to Service. + /// + [Input("logonType")] + public InputUnion? LogonType { get; set; } + + /// + /// The secret management settings of the machines in the pool. + /// + [Input("secretsManagementSettings")] + public Input? SecretsManagementSettings { get; set; } + + public OsProfileArgs() + { + } + public static new OsProfileArgs Empty => new OsProfileArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/PoolImageArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/PoolImageArgs.cs new file mode 100644 index 000000000000..088602e6dc2f --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/PoolImageArgs.cs @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// The VM image of the machines in the pool. + /// + public sealed class PoolImageArgs : global::Pulumi.ResourceArgs + { + [Input("aliases")] + private InputList? _aliases; + + /// + /// List of aliases to reference the image by. + /// + public InputList Aliases + { + get => _aliases ?? (_aliases = new InputList()); + set => _aliases = value; + } + + /// + /// The percentage of the buffer to be allocated to this image. + /// + [Input("buffer")] + public Input? Buffer { get; set; } + + /// + /// The ephemeral type of the image. + /// + [Input("ephemeralType")] + public InputUnion? EphemeralType { get; set; } + + /// + /// The resource id of the image. + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + /// + /// The image to use from a well-known set of images made available to customers. + /// + [Input("wellKnownImageName")] + public Input? WellKnownImageName { get; set; } + + public PoolImageArgs() + { + Buffer = "*"; + } + public static new PoolImageArgs Empty => new PoolImageArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/SecretsManagementSettingsArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/SecretsManagementSettingsArgs.cs new file mode 100644 index 000000000000..6255bdd166c3 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/SecretsManagementSettingsArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// The secret management settings of the machines in the pool. + /// + public sealed class SecretsManagementSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Where to store certificates on the machine. + /// + [Input("certificateStoreLocation")] + public Input? CertificateStoreLocation { get; set; } + + /// + /// Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported. + /// + [Input("certificateStoreName")] + public InputUnion? CertificateStoreName { get; set; } + + /// + /// Defines if the key of the certificates should be exportable. + /// + [Input("keyExportable", required: true)] + public Input KeyExportable { get; set; } = null!; + + [Input("observedCertificates", required: true)] + private InputList? _observedCertificates; + + /// + /// The list of certificates to install on all machines in the pool. + /// + public InputList ObservedCertificates + { + get => _observedCertificates ?? (_observedCertificates = new InputList()); + set => _observedCertificates = value; + } + + public SecretsManagementSettingsArgs() + { + } + public static new SecretsManagementSettingsArgs Empty => new SecretsManagementSettingsArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/StatefulArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/StatefulArgs.cs new file mode 100644 index 000000000000..6be0c5a886f4 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/StatefulArgs.cs @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// Stateful profile meaning that the machines will be returned to the pool after running a job. + /// + public sealed class StatefulArgs : global::Pulumi.ResourceArgs + { + /// + /// How long should the machine be kept around after it ran a workload when there are no stand-by agents. The maximum is one week. + /// + [Input("gracePeriodTimeSpan")] + public Input? GracePeriodTimeSpan { get; set; } + + /// + /// Discriminator property for AgentProfile. + /// Expected value is 'Stateful'. + /// + [Input("kind", required: true)] + public Input Kind { get; set; } = null!; + + /// + /// How long should stateful machines be kept around. The maximum is one week. + /// + [Input("maxAgentLifetime")] + public Input? MaxAgentLifetime { get; set; } + + /// + /// Defines pool buffer/stand-by agents. + /// + [Input("resourcePredictions")] + public Input? ResourcePredictions { get; set; } + + /// + /// Defines how the pool buffer/stand-by agents is provided. + /// + [Input("resourcePredictionsProfile")] + public InputUnion? ResourcePredictionsProfile { get; set; } + + public StatefulArgs() + { + } + public static new StatefulArgs Empty => new StatefulArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/StatelessAgentProfileArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/StatelessAgentProfileArgs.cs new file mode 100644 index 000000000000..56f42254b2f3 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/StatelessAgentProfileArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// Stateless profile meaning that the machines will be cleaned up after running a job. + /// + public sealed class StatelessAgentProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Discriminator property for AgentProfile. + /// Expected value is 'Stateless'. + /// + [Input("kind", required: true)] + public Input Kind { get; set; } = null!; + + /// + /// Defines pool buffer/stand-by agents. + /// + [Input("resourcePredictions")] + public Input? ResourcePredictions { get; set; } + + /// + /// Defines how the pool buffer/stand-by agents is provided. + /// + [Input("resourcePredictionsProfile")] + public InputUnion? ResourcePredictionsProfile { get; set; } + + public StatelessAgentProfileArgs() + { + } + public static new StatelessAgentProfileArgs Empty => new StatelessAgentProfileArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/StorageProfileArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/StorageProfileArgs.cs new file mode 100644 index 000000000000..bc0da33a3029 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/StorageProfileArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// The storage profile of the VMSS. + /// + public sealed class StorageProfileArgs : global::Pulumi.ResourceArgs + { + [Input("dataDisks")] + private InputList? _dataDisks; + + /// + /// A list of empty data disks to attach. + /// + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + /// + /// The Azure SKU name of the machines in the pool. + /// + [Input("osDiskStorageAccountType")] + public InputUnion? OsDiskStorageAccountType { get; set; } + + public StorageProfileArgs() + { + } + public static new StorageProfileArgs Empty => new StorageProfileArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/VmssFabricProfileArgs.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/VmssFabricProfileArgs.cs new file mode 100644 index 000000000000..e967815a911c --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Inputs/VmssFabricProfileArgs.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Inputs +{ + + /// + /// The agents will run on Virtual Machine Scale Sets. + /// + public sealed class VmssFabricProfileArgs : global::Pulumi.ResourceArgs + { + [Input("images", required: true)] + private InputList? _images; + + /// + /// The VM images of the machines in the pool. + /// + public InputList Images + { + get => _images ?? (_images = new InputList()); + set => _images = value; + } + + /// + /// Discriminator property for FabricProfile. + /// Expected value is 'Vmss'. + /// + [Input("kind", required: true)] + public Input Kind { get; set; } = null!; + + /// + /// The network profile of the machines in the pool. + /// + [Input("networkProfile")] + public Input? NetworkProfile { get; set; } + + /// + /// The OS profile of the machines in the pool. + /// + [Input("osProfile")] + public Input? OsProfile { get; set; } + + /// + /// The Azure SKU of the machines in the pool. + /// + [Input("sku", required: true)] + public Input Sku { get; set; } = null!; + + /// + /// The storage profile of the machines in the pool. + /// + [Input("storageProfile")] + public Input? StorageProfile { get; set; } + + public VmssFabricProfileArgs() + { + } + public static new VmssFabricProfileArgs Empty => new VmssFabricProfileArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/AutomaticResourcePredictionsProfileResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/AutomaticResourcePredictionsProfileResponse.cs new file mode 100644 index 000000000000..79fa9e066254 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/AutomaticResourcePredictionsProfileResponse.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// The stand-by agent scheme is determined based on historical demand. + /// + [OutputType] + public sealed class AutomaticResourcePredictionsProfileResponse + { + /// + /// Determines how the stand-by scheme should be provided. + /// Expected value is 'Automatic'. + /// + public readonly string Kind; + /// + /// Determines the balance between cost and performance. + /// + public readonly string? PredictionPreference; + + [OutputConstructor] + private AutomaticResourcePredictionsProfileResponse( + string kind, + + string? predictionPreference) + { + Kind = kind; + PredictionPreference = predictionPreference; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/AzureDevOpsOrganizationProfileResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/AzureDevOpsOrganizationProfileResponse.cs new file mode 100644 index 000000000000..9859cf0f5e57 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/AzureDevOpsOrganizationProfileResponse.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// Azure DevOps organization profile + /// + [OutputType] + public sealed class AzureDevOpsOrganizationProfileResponse + { + /// + /// Discriminator property for OrganizationProfile. + /// Expected value is 'AzureDevOps'. + /// + public readonly string Kind; + /// + /// The list of Azure DevOps organizations the pool should be present in. + /// + public readonly ImmutableArray Organizations; + /// + /// The type of permission which determines which accounts are admins on the Azure DevOps pool. + /// + public readonly Outputs.AzureDevOpsPermissionProfileResponse? PermissionProfile; + + [OutputConstructor] + private AzureDevOpsOrganizationProfileResponse( + string kind, + + ImmutableArray organizations, + + Outputs.AzureDevOpsPermissionProfileResponse? permissionProfile) + { + Kind = kind; + Organizations = organizations; + PermissionProfile = permissionProfile; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/AzureDevOpsPermissionProfileResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/AzureDevOpsPermissionProfileResponse.cs new file mode 100644 index 000000000000..7b38b04091e4 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/AzureDevOpsPermissionProfileResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// Defines the type of Azure DevOps pool permission. + /// + [OutputType] + public sealed class AzureDevOpsPermissionProfileResponse + { + /// + /// Group email addresses + /// + public readonly ImmutableArray Groups; + /// + /// Determines who has admin permissions to the Azure DevOps pool. + /// + public readonly string Kind; + /// + /// User email addresses + /// + public readonly ImmutableArray Users; + + [OutputConstructor] + private AzureDevOpsPermissionProfileResponse( + ImmutableArray groups, + + string kind, + + ImmutableArray users) + { + Groups = groups; + Kind = kind; + Users = users; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/DataDiskResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/DataDiskResponse.cs new file mode 100644 index 000000000000..86ca6f500628 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/DataDiskResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// The data disk of the VMSS. + /// + [OutputType] + public sealed class DataDiskResponse + { + /// + /// The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. + /// + public readonly string? Caching; + /// + /// The initial disk size in gigabytes. + /// + public readonly int? DiskSizeGiB; + /// + /// The drive letter for the empty data disk. If not specified, it will be the first available letter. + /// + public readonly string? DriveLetter; + /// + /// The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". + /// + public readonly string? StorageAccountType; + + [OutputConstructor] + private DataDiskResponse( + string? caching, + + int? diskSizeGiB, + + string? driveLetter, + + string? storageAccountType) + { + Caching = caching; + DiskSizeGiB = diskSizeGiB; + DriveLetter = driveLetter; + StorageAccountType = storageAccountType; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/DevOpsAzureSkuResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/DevOpsAzureSkuResponse.cs new file mode 100644 index 000000000000..5aab1dd1565e --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/DevOpsAzureSkuResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// The Azure SKU of the machines in the pool. + /// + [OutputType] + public sealed class DevOpsAzureSkuResponse + { + /// + /// The Azure SKU name of the machines in the pool. + /// + public readonly string Name; + + [OutputConstructor] + private DevOpsAzureSkuResponse(string name) + { + Name = name; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/GitHubOrganizationProfileResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/GitHubOrganizationProfileResponse.cs new file mode 100644 index 000000000000..aa911f30bd23 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/GitHubOrganizationProfileResponse.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// GitHub organization profile + /// + [OutputType] + public sealed class GitHubOrganizationProfileResponse + { + /// + /// Discriminator property for OrganizationProfile. + /// Expected value is 'GitHub'. + /// + public readonly string Kind; + /// + /// The list of GitHub organizations/repositories the pool should be present in. + /// + public readonly ImmutableArray Organizations; + + [OutputConstructor] + private GitHubOrganizationProfileResponse( + string kind, + + ImmutableArray organizations) + { + Kind = kind; + Organizations = organizations; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/GitHubOrganizationResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/GitHubOrganizationResponse.cs new file mode 100644 index 000000000000..f33df249b93b --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/GitHubOrganizationResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// Defines a GitHub organization + /// + [OutputType] + public sealed class GitHubOrganizationResponse + { + /// + /// Optional list of repositories in which the pool should be created. + /// + public readonly ImmutableArray Repositories; + /// + /// The GitHub organization URL in which the pool should be created. + /// + public readonly string Url; + + [OutputConstructor] + private GitHubOrganizationResponse( + ImmutableArray repositories, + + string url) + { + Repositories = repositories; + Url = url; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/ManagedServiceIdentityResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/ManagedServiceIdentityResponse.cs new file mode 100644 index 000000000000..246bcab9c39a --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/ManagedServiceIdentityResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + [OutputType] + public sealed class ManagedServiceIdentityResponse + { + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + public readonly string PrincipalId; + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + public readonly string TenantId; + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + public readonly string Type; + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + /// + public readonly ImmutableDictionary? UserAssignedIdentities; + + [OutputConstructor] + private ManagedServiceIdentityResponse( + string principalId, + + string tenantId, + + string type, + + ImmutableDictionary? userAssignedIdentities) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + UserAssignedIdentities = userAssignedIdentities; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/ManualResourcePredictionsProfileResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/ManualResourcePredictionsProfileResponse.cs new file mode 100644 index 000000000000..b1914b54155c --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/ManualResourcePredictionsProfileResponse.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// Customer provides the stand-by agent scheme. + /// + [OutputType] + public sealed class ManualResourcePredictionsProfileResponse + { + /// + /// Determines how the stand-by scheme should be provided. + /// Expected value is 'Manual'. + /// + public readonly string Kind; + + [OutputConstructor] + private ManualResourcePredictionsProfileResponse(string kind) + { + Kind = kind; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/NetworkProfileResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/NetworkProfileResponse.cs new file mode 100644 index 000000000000..3c5f37b156b2 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/NetworkProfileResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// The network profile of the machines in the pool. + /// + [OutputType] + public sealed class NetworkProfileResponse + { + /// + /// The subnet id on which to put all machines created in the pool. + /// + public readonly string SubnetId; + + [OutputConstructor] + private NetworkProfileResponse(string subnetId) + { + SubnetId = subnetId; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/OrganizationResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/OrganizationResponse.cs new file mode 100644 index 000000000000..923312514895 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/OrganizationResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// Defines an Azure DevOps organization. + /// + [OutputType] + public sealed class OrganizationResponse + { + /// + /// Determines if the pool should have open access to all projects in this organization. + /// + public readonly bool? OpenAccess; + /// + /// How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool. + /// + public readonly int? Parallelism; + /// + /// Optional list of projects in which the pool should be created. + /// + public readonly ImmutableArray Projects; + /// + /// The Azure DevOps organization URL in which the pool should be created. + /// + public readonly string Url; + + [OutputConstructor] + private OrganizationResponse( + bool? openAccess, + + int? parallelism, + + ImmutableArray projects, + + string url) + { + OpenAccess = openAccess; + Parallelism = parallelism; + Projects = projects; + Url = url; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/OsProfileResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/OsProfileResponse.cs new file mode 100644 index 000000000000..fd4addbe3b95 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/OsProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// The OS profile of the machines in the pool. + /// + [OutputType] + public sealed class OsProfileResponse + { + /// + /// Determines how the service should be run. By default, this will be set to Service. + /// + public readonly string? LogonType; + /// + /// The secret management settings of the machines in the pool. + /// + public readonly Outputs.SecretsManagementSettingsResponse? SecretsManagementSettings; + + [OutputConstructor] + private OsProfileResponse( + string? logonType, + + Outputs.SecretsManagementSettingsResponse? secretsManagementSettings) + { + LogonType = logonType; + SecretsManagementSettings = secretsManagementSettings; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/PoolImageResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/PoolImageResponse.cs new file mode 100644 index 000000000000..68d44d27e708 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/PoolImageResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// The VM image of the machines in the pool. + /// + [OutputType] + public sealed class PoolImageResponse + { + /// + /// List of aliases to reference the image by. + /// + public readonly ImmutableArray Aliases; + /// + /// The percentage of the buffer to be allocated to this image. + /// + public readonly string? Buffer; + /// + /// The ephemeral type of the image. + /// + public readonly string? EphemeralType; + /// + /// The resource id of the image. + /// + public readonly string? ResourceId; + /// + /// The image to use from a well-known set of images made available to customers. + /// + public readonly string? WellKnownImageName; + + [OutputConstructor] + private PoolImageResponse( + ImmutableArray aliases, + + string? buffer, + + string? ephemeralType, + + string? resourceId, + + string? wellKnownImageName) + { + Aliases = aliases; + Buffer = buffer; + EphemeralType = ephemeralType; + ResourceId = resourceId; + WellKnownImageName = wellKnownImageName; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/SecretsManagementSettingsResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/SecretsManagementSettingsResponse.cs new file mode 100644 index 000000000000..4cd28c5415b3 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/SecretsManagementSettingsResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// The secret management settings of the machines in the pool. + /// + [OutputType] + public sealed class SecretsManagementSettingsResponse + { + /// + /// Where to store certificates on the machine. + /// + public readonly string? CertificateStoreLocation; + /// + /// Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported. + /// + public readonly string? CertificateStoreName; + /// + /// Defines if the key of the certificates should be exportable. + /// + public readonly bool KeyExportable; + /// + /// The list of certificates to install on all machines in the pool. + /// + public readonly ImmutableArray ObservedCertificates; + + [OutputConstructor] + private SecretsManagementSettingsResponse( + string? certificateStoreLocation, + + string? certificateStoreName, + + bool keyExportable, + + ImmutableArray observedCertificates) + { + CertificateStoreLocation = certificateStoreLocation; + CertificateStoreName = certificateStoreName; + KeyExportable = keyExportable; + ObservedCertificates = observedCertificates; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/StatefulResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/StatefulResponse.cs new file mode 100644 index 000000000000..721cd5fea663 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/StatefulResponse.cs @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// Stateful profile meaning that the machines will be returned to the pool after running a job. + /// + [OutputType] + public sealed class StatefulResponse + { + /// + /// How long should the machine be kept around after it ran a workload when there are no stand-by agents. The maximum is one week. + /// + public readonly string? GracePeriodTimeSpan; + /// + /// Discriminator property for AgentProfile. + /// Expected value is 'Stateful'. + /// + public readonly string Kind; + /// + /// How long should stateful machines be kept around. The maximum is one week. + /// + public readonly string? MaxAgentLifetime; + /// + /// Defines pool buffer/stand-by agents. + /// + public readonly object? ResourcePredictions; + /// + /// Defines how the pool buffer/stand-by agents is provided. + /// + public readonly Union? ResourcePredictionsProfile; + + [OutputConstructor] + private StatefulResponse( + string? gracePeriodTimeSpan, + + string kind, + + string? maxAgentLifetime, + + object? resourcePredictions, + + Union? resourcePredictionsProfile) + { + GracePeriodTimeSpan = gracePeriodTimeSpan; + Kind = kind; + MaxAgentLifetime = maxAgentLifetime; + ResourcePredictions = resourcePredictions; + ResourcePredictionsProfile = resourcePredictionsProfile; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/StatelessAgentProfileResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/StatelessAgentProfileResponse.cs new file mode 100644 index 000000000000..7f62dbf9cd55 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/StatelessAgentProfileResponse.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// Stateless profile meaning that the machines will be cleaned up after running a job. + /// + [OutputType] + public sealed class StatelessAgentProfileResponse + { + /// + /// Discriminator property for AgentProfile. + /// Expected value is 'Stateless'. + /// + public readonly string Kind; + /// + /// Defines pool buffer/stand-by agents. + /// + public readonly object? ResourcePredictions; + /// + /// Defines how the pool buffer/stand-by agents is provided. + /// + public readonly Union? ResourcePredictionsProfile; + + [OutputConstructor] + private StatelessAgentProfileResponse( + string kind, + + object? resourcePredictions, + + Union? resourcePredictionsProfile) + { + Kind = kind; + ResourcePredictions = resourcePredictions; + ResourcePredictionsProfile = resourcePredictionsProfile; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/StorageProfileResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/StorageProfileResponse.cs new file mode 100644 index 000000000000..172c1deb71c9 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/StorageProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// The storage profile of the VMSS. + /// + [OutputType] + public sealed class StorageProfileResponse + { + /// + /// A list of empty data disks to attach. + /// + public readonly ImmutableArray DataDisks; + /// + /// The Azure SKU name of the machines in the pool. + /// + public readonly string? OsDiskStorageAccountType; + + [OutputConstructor] + private StorageProfileResponse( + ImmutableArray dataDisks, + + string? osDiskStorageAccountType) + { + DataDisks = dataDisks; + OsDiskStorageAccountType = osDiskStorageAccountType; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/SystemDataResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..beab41e49672 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC). + /// + public readonly string? CreatedAt; + /// + /// The identity that created the resource. + /// + public readonly string? CreatedBy; + /// + /// The type of identity that created the resource. + /// + public readonly string? CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string? LastModifiedAt; + /// + /// The identity that last modified the resource. + /// + public readonly string? LastModifiedBy; + /// + /// The type of identity that last modified the resource. + /// + public readonly string? LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string? createdAt, + + string? createdBy, + + string? createdByType, + + string? lastModifiedAt, + + string? lastModifiedBy, + + string? lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/UserAssignedIdentityResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/UserAssignedIdentityResponse.cs new file mode 100644 index 000000000000..054514f8b2d9 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/UserAssignedIdentityResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// User assigned identity properties + /// + [OutputType] + public sealed class UserAssignedIdentityResponse + { + /// + /// The client ID of the assigned identity. + /// + public readonly string ClientId; + /// + /// The principal ID of the assigned identity. + /// + public readonly string PrincipalId; + + [OutputConstructor] + private UserAssignedIdentityResponse( + string clientId, + + string principalId) + { + ClientId = clientId; + PrincipalId = principalId; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/VmssFabricProfileResponse.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/VmssFabricProfileResponse.cs new file mode 100644 index 000000000000..f2c50c0d8873 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Outputs/VmssFabricProfileResponse.cs @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121.Outputs +{ + + /// + /// The agents will run on Virtual Machine Scale Sets. + /// + [OutputType] + public sealed class VmssFabricProfileResponse + { + /// + /// The VM images of the machines in the pool. + /// + public readonly ImmutableArray Images; + /// + /// Discriminator property for FabricProfile. + /// Expected value is 'Vmss'. + /// + public readonly string Kind; + /// + /// The network profile of the machines in the pool. + /// + public readonly Outputs.NetworkProfileResponse? NetworkProfile; + /// + /// The OS profile of the machines in the pool. + /// + public readonly Outputs.OsProfileResponse? OsProfile; + /// + /// The Azure SKU of the machines in the pool. + /// + public readonly Outputs.DevOpsAzureSkuResponse Sku; + /// + /// The storage profile of the machines in the pool. + /// + public readonly Outputs.StorageProfileResponse? StorageProfile; + + [OutputConstructor] + private VmssFabricProfileResponse( + ImmutableArray images, + + string kind, + + Outputs.NetworkProfileResponse? networkProfile, + + Outputs.OsProfileResponse? osProfile, + + Outputs.DevOpsAzureSkuResponse sku, + + Outputs.StorageProfileResponse? storageProfile) + { + Images = images; + Kind = kind; + NetworkProfile = networkProfile; + OsProfile = osProfile; + Sku = sku; + StorageProfile = storageProfile; + } + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/Pool.cs b/sdk/dotnet/DevOpsInfrastructure/V20250121/Pool.cs new file mode 100644 index 000000000000..709334a2e310 --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/Pool.cs @@ -0,0 +1,221 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DevOpsInfrastructure.V20250121 +{ + /// + /// Concrete tracked resource types can be created by aliasing this type using a specific property type. + /// + [AzureNativeResourceType("azure-native:devopsinfrastructure/v20250121:Pool")] + public partial class Pool : global::Pulumi.CustomResource + { + /// + /// Defines how the machine will be handled once it executed a job. + /// + [Output("agentProfile")] + public Output> AgentProfile { get; private set; } = null!; + + /// + /// The resource id of the DevCenter Project the pool belongs to. + /// + [Output("devCenterProjectResourceId")] + public Output DevCenterProjectResourceId { get; private set; } = null!; + + /// + /// Defines the type of fabric the agent will run on. + /// + [Output("fabricProfile")] + public Output FabricProfile { get; private set; } = null!; + + /// + /// The managed service identities assigned to this resource. + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Defines how many resources can there be created at any given time. + /// + [Output("maximumConcurrency")] + public Output MaximumConcurrency { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Defines the organization in which the pool will be used. + /// + [Output("organizationProfile")] + public Output> OrganizationProfile { get; private set; } = null!; + + /// + /// The status of the current operation. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Pool resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Pool(string name, PoolArgs args, CustomResourceOptions? options = null) + : base("azure-native:devopsinfrastructure/v20250121:Pool", name, args ?? new PoolArgs(), MakeResourceOptions(options, "")) + { + } + + private Pool(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:devopsinfrastructure/v20250121:Pool", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure:Pool" }, + new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20231030preview:Pool" }, + new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20231213preview:Pool" }, + new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20240326preview:Pool" }, + new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20240404preview:Pool" }, + new global::Pulumi.Alias { Type = "azure-native:devopsinfrastructure/v20241019:Pool" }, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Pool resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Pool Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Pool(name, id, options); + } + } + + public sealed class PoolArgs : global::Pulumi.ResourceArgs + { + /// + /// Defines how the machine will be handled once it executed a job. + /// + [Input("agentProfile", required: true)] + public InputUnion AgentProfile { get; set; } = null!; + + /// + /// The resource id of the DevCenter Project the pool belongs to. + /// + [Input("devCenterProjectResourceId", required: true)] + public Input DevCenterProjectResourceId { get; set; } = null!; + + /// + /// Defines the type of fabric the agent will run on. + /// + [Input("fabricProfile", required: true)] + public Input FabricProfile { get; set; } = null!; + + /// + /// The managed service identities assigned to this resource. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Defines how many resources can there be created at any given time. + /// + [Input("maximumConcurrency", required: true)] + public Input MaximumConcurrency { get; set; } = null!; + + /// + /// Defines the organization in which the pool will be used. + /// + [Input("organizationProfile", required: true)] + public InputUnion OrganizationProfile { get; set; } = null!; + + /// + /// Name of the pool. It needs to be globally unique. + /// + [Input("poolName")] + public Input? PoolName { get; set; } + + /// + /// The status of the current operation. + /// + [Input("provisioningState")] + public InputUnion? ProvisioningState { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public PoolArgs() + { + } + public static new PoolArgs Empty => new PoolArgs(); + } +} diff --git a/sdk/dotnet/DevOpsInfrastructure/V20250121/README.md b/sdk/dotnet/DevOpsInfrastructure/V20250121/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/DevOpsInfrastructure/V20250121/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/ManagedIdentity/FederatedIdentityCredential.cs b/sdk/dotnet/ManagedIdentity/FederatedIdentityCredential.cs index 2de77f95aa89..29fa97326ccc 100644 --- a/sdk/dotnet/ManagedIdentity/FederatedIdentityCredential.cs +++ b/sdk/dotnet/ManagedIdentity/FederatedIdentityCredential.cs @@ -13,7 +13,7 @@ namespace Pulumi.AzureNative.ManagedIdentity /// Describes a federated identity credential. /// Azure REST API version: 2023-01-31. Prior API version in Azure Native 1.x: 2022-01-31-preview. /// - /// Other available API versions: 2023-07-31-preview. + /// Other available API versions: 2023-07-31-preview, 2024-11-30. /// [AzureNativeResourceType("azure-native:managedidentity:FederatedIdentityCredential")] public partial class FederatedIdentityCredential : global::Pulumi.CustomResource @@ -82,6 +82,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20220131preview:FederatedIdentityCredential" }, new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20230131:FederatedIdentityCredential" }, new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20230731preview:FederatedIdentityCredential" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20241130:FederatedIdentityCredential" }, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ManagedIdentity/GetFederatedIdentityCredential.cs b/sdk/dotnet/ManagedIdentity/GetFederatedIdentityCredential.cs index c767edf34659..e3e581ca2ae5 100644 --- a/sdk/dotnet/ManagedIdentity/GetFederatedIdentityCredential.cs +++ b/sdk/dotnet/ManagedIdentity/GetFederatedIdentityCredential.cs @@ -15,7 +15,7 @@ public static class GetFederatedIdentityCredential /// Gets the federated identity credential. /// Azure REST API version: 2023-01-31. /// - /// Other available API versions: 2023-07-31-preview. + /// Other available API versions: 2023-07-31-preview, 2024-11-30. /// public static Task InvokeAsync(GetFederatedIdentityCredentialArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:managedidentity:getFederatedIdentityCredential", args ?? new GetFederatedIdentityCredentialArgs(), options.WithDefaults()); @@ -24,7 +24,7 @@ public static Task InvokeAsync(GetFederate /// Gets the federated identity credential. /// Azure REST API version: 2023-01-31. /// - /// Other available API versions: 2023-07-31-preview. + /// Other available API versions: 2023-07-31-preview, 2024-11-30. /// public static Output Invoke(GetFederatedIdentityCredentialInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("azure-native:managedidentity:getFederatedIdentityCredential", args ?? new GetFederatedIdentityCredentialInvokeArgs(), options.WithDefaults()); @@ -33,7 +33,7 @@ public static Output Invoke(GetFederatedId /// Gets the federated identity credential. /// Azure REST API version: 2023-01-31. /// - /// Other available API versions: 2023-07-31-preview. + /// Other available API versions: 2023-07-31-preview, 2024-11-30. /// public static Output Invoke(GetFederatedIdentityCredentialInvokeArgs args, InvokeOutputOptions options) => global::Pulumi.Deployment.Instance.Invoke("azure-native:managedidentity:getFederatedIdentityCredential", args ?? new GetFederatedIdentityCredentialInvokeArgs(), options.WithDefaults()); diff --git a/sdk/dotnet/ManagedIdentity/GetUserAssignedIdentity.cs b/sdk/dotnet/ManagedIdentity/GetUserAssignedIdentity.cs index b111ecefd3de..1a90e3b2c471 100644 --- a/sdk/dotnet/ManagedIdentity/GetUserAssignedIdentity.cs +++ b/sdk/dotnet/ManagedIdentity/GetUserAssignedIdentity.cs @@ -15,7 +15,7 @@ public static class GetUserAssignedIdentity /// Gets the identity. /// Azure REST API version: 2023-01-31. /// - /// Other available API versions: 2023-07-31-preview. + /// Other available API versions: 2023-07-31-preview, 2024-11-30. /// public static Task InvokeAsync(GetUserAssignedIdentityArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:managedidentity:getUserAssignedIdentity", args ?? new GetUserAssignedIdentityArgs(), options.WithDefaults()); @@ -24,7 +24,7 @@ public static Task InvokeAsync(GetUserAssignedIde /// Gets the identity. /// Azure REST API version: 2023-01-31. /// - /// Other available API versions: 2023-07-31-preview. + /// Other available API versions: 2023-07-31-preview, 2024-11-30. /// public static Output Invoke(GetUserAssignedIdentityInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("azure-native:managedidentity:getUserAssignedIdentity", args ?? new GetUserAssignedIdentityInvokeArgs(), options.WithDefaults()); @@ -33,7 +33,7 @@ public static Output Invoke(GetUserAssignedIdenti /// Gets the identity. /// Azure REST API version: 2023-01-31. /// - /// Other available API versions: 2023-07-31-preview. + /// Other available API versions: 2023-07-31-preview, 2024-11-30. /// public static Output Invoke(GetUserAssignedIdentityInvokeArgs args, InvokeOutputOptions options) => global::Pulumi.Deployment.Instance.Invoke("azure-native:managedidentity:getUserAssignedIdentity", args ?? new GetUserAssignedIdentityInvokeArgs(), options.WithDefaults()); diff --git a/sdk/dotnet/ManagedIdentity/UserAssignedIdentity.cs b/sdk/dotnet/ManagedIdentity/UserAssignedIdentity.cs index 10191550d69c..aa9b269ceab9 100644 --- a/sdk/dotnet/ManagedIdentity/UserAssignedIdentity.cs +++ b/sdk/dotnet/ManagedIdentity/UserAssignedIdentity.cs @@ -13,7 +13,7 @@ namespace Pulumi.AzureNative.ManagedIdentity /// Describes an identity resource. /// Azure REST API version: 2023-01-31. Prior API version in Azure Native 1.x: 2018-11-30. /// - /// Other available API versions: 2023-07-31-preview. + /// Other available API versions: 2023-07-31-preview, 2024-11-30. /// [AzureNativeResourceType("azure-native:managedidentity:UserAssignedIdentity")] public partial class UserAssignedIdentity : global::Pulumi.CustomResource @@ -97,6 +97,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20220131preview:UserAssignedIdentity" }, new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20230131:UserAssignedIdentity" }, new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20230731preview:UserAssignedIdentity" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20241130:UserAssignedIdentity" }, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ManagedIdentity/V20230131/FederatedIdentityCredential.cs b/sdk/dotnet/ManagedIdentity/V20230131/FederatedIdentityCredential.cs index eb7f5489a2c3..cf8a5f85c097 100644 --- a/sdk/dotnet/ManagedIdentity/V20230131/FederatedIdentityCredential.cs +++ b/sdk/dotnet/ManagedIdentity/V20230131/FederatedIdentityCredential.cs @@ -79,6 +79,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:managedidentity:FederatedIdentityCredential" }, new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20220131preview:FederatedIdentityCredential" }, new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20230731preview:FederatedIdentityCredential" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20241130:FederatedIdentityCredential" }, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ManagedIdentity/V20230131/UserAssignedIdentity.cs b/sdk/dotnet/ManagedIdentity/V20230131/UserAssignedIdentity.cs index 6615005c2630..9d6f9f2005ef 100644 --- a/sdk/dotnet/ManagedIdentity/V20230131/UserAssignedIdentity.cs +++ b/sdk/dotnet/ManagedIdentity/V20230131/UserAssignedIdentity.cs @@ -94,6 +94,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20210930preview:UserAssignedIdentity" }, new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20220131preview:UserAssignedIdentity" }, new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20230731preview:UserAssignedIdentity" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20241130:UserAssignedIdentity" }, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ManagedIdentity/V20230731Preview/FederatedIdentityCredential.cs b/sdk/dotnet/ManagedIdentity/V20230731Preview/FederatedIdentityCredential.cs index 70fe5400eb91..73a8b5e96f06 100644 --- a/sdk/dotnet/ManagedIdentity/V20230731Preview/FederatedIdentityCredential.cs +++ b/sdk/dotnet/ManagedIdentity/V20230731Preview/FederatedIdentityCredential.cs @@ -79,6 +79,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:managedidentity:FederatedIdentityCredential" }, new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20220131preview:FederatedIdentityCredential" }, new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20230131:FederatedIdentityCredential" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20241130:FederatedIdentityCredential" }, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ManagedIdentity/V20230731Preview/UserAssignedIdentity.cs b/sdk/dotnet/ManagedIdentity/V20230731Preview/UserAssignedIdentity.cs index 0e5676962f14..d18ab4e9c6c4 100644 --- a/sdk/dotnet/ManagedIdentity/V20230731Preview/UserAssignedIdentity.cs +++ b/sdk/dotnet/ManagedIdentity/V20230731Preview/UserAssignedIdentity.cs @@ -94,6 +94,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20210930preview:UserAssignedIdentity" }, new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20220131preview:UserAssignedIdentity" }, new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20230131:UserAssignedIdentity" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20241130:UserAssignedIdentity" }, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ManagedIdentity/V20241130/Enums.cs b/sdk/dotnet/ManagedIdentity/V20241130/Enums.cs new file mode 100644 index 000000000000..2a6d8f52caa8 --- /dev/null +++ b/sdk/dotnet/ManagedIdentity/V20241130/Enums.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.ManagedIdentity.V20241130 +{ + /// + /// Enum to configure regional restrictions on identity assignment, as necessary. + /// + [EnumType] + public readonly struct IsolationScope : IEquatable + { + private readonly string _value; + + private IsolationScope(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static IsolationScope None { get; } = new IsolationScope("None"); + public static IsolationScope Regional { get; } = new IsolationScope("Regional"); + + public static bool operator ==(IsolationScope left, IsolationScope right) => left.Equals(right); + public static bool operator !=(IsolationScope left, IsolationScope right) => !left.Equals(right); + + public static explicit operator string(IsolationScope value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is IsolationScope other && Equals(other); + public bool Equals(IsolationScope other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/ManagedIdentity/V20241130/FederatedIdentityCredential.cs b/sdk/dotnet/ManagedIdentity/V20241130/FederatedIdentityCredential.cs new file mode 100644 index 000000000000..1c56e0325a1d --- /dev/null +++ b/sdk/dotnet/ManagedIdentity/V20241130/FederatedIdentityCredential.cs @@ -0,0 +1,153 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ManagedIdentity.V20241130 +{ + /// + /// Describes a federated identity credential. + /// + [AzureNativeResourceType("azure-native:managedidentity/v20241130:FederatedIdentityCredential")] + public partial class FederatedIdentityCredential : global::Pulumi.CustomResource + { + /// + /// The list of audiences that can appear in the issued token. + /// + [Output("audiences")] + public Output> Audiences { get; private set; } = null!; + + /// + /// The URL of the issuer to be trusted. + /// + [Output("issuer")] + public Output Issuer { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The identifier of the external identity. + /// + [Output("subject")] + public Output Subject { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a FederatedIdentityCredential resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public FederatedIdentityCredential(string name, FederatedIdentityCredentialArgs args, CustomResourceOptions? options = null) + : base("azure-native:managedidentity/v20241130:FederatedIdentityCredential", name, args ?? new FederatedIdentityCredentialArgs(), MakeResourceOptions(options, "")) + { + } + + private FederatedIdentityCredential(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:managedidentity/v20241130:FederatedIdentityCredential", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:managedidentity:FederatedIdentityCredential" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20220131preview:FederatedIdentityCredential" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20230131:FederatedIdentityCredential" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20230731preview:FederatedIdentityCredential" }, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing FederatedIdentityCredential resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static FederatedIdentityCredential Get(string name, Input id, CustomResourceOptions? options = null) + { + return new FederatedIdentityCredential(name, id, options); + } + } + + public sealed class FederatedIdentityCredentialArgs : global::Pulumi.ResourceArgs + { + [Input("audiences", required: true)] + private InputList? _audiences; + + /// + /// The list of audiences that can appear in the issued token. + /// + public InputList Audiences + { + get => _audiences ?? (_audiences = new InputList()); + set => _audiences = value; + } + + /// + /// The name of the federated identity credential resource. + /// + [Input("federatedIdentityCredentialResourceName")] + public Input? FederatedIdentityCredentialResourceName { get; set; } + + /// + /// The URL of the issuer to be trusted. + /// + [Input("issuer", required: true)] + public Input Issuer { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the identity resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + /// + /// The identifier of the external identity. + /// + [Input("subject", required: true)] + public Input Subject { get; set; } = null!; + + public FederatedIdentityCredentialArgs() + { + } + public static new FederatedIdentityCredentialArgs Empty => new FederatedIdentityCredentialArgs(); + } +} diff --git a/sdk/dotnet/ManagedIdentity/V20241130/GetFederatedIdentityCredential.cs b/sdk/dotnet/ManagedIdentity/V20241130/GetFederatedIdentityCredential.cs new file mode 100644 index 000000000000..c9c554b80dea --- /dev/null +++ b/sdk/dotnet/ManagedIdentity/V20241130/GetFederatedIdentityCredential.cs @@ -0,0 +1,144 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ManagedIdentity.V20241130 +{ + public static class GetFederatedIdentityCredential + { + /// + /// Gets the federated identity credential. + /// + public static Task InvokeAsync(GetFederatedIdentityCredentialArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:managedidentity/v20241130:getFederatedIdentityCredential", args ?? new GetFederatedIdentityCredentialArgs(), options.WithDefaults()); + + /// + /// Gets the federated identity credential. + /// + public static Output Invoke(GetFederatedIdentityCredentialInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:managedidentity/v20241130:getFederatedIdentityCredential", args ?? new GetFederatedIdentityCredentialInvokeArgs(), options.WithDefaults()); + + /// + /// Gets the federated identity credential. + /// + public static Output Invoke(GetFederatedIdentityCredentialInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:managedidentity/v20241130:getFederatedIdentityCredential", args ?? new GetFederatedIdentityCredentialInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetFederatedIdentityCredentialArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the federated identity credential resource. + /// + [Input("federatedIdentityCredentialResourceName", required: true)] + public string FederatedIdentityCredentialResourceName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the identity resource. + /// + [Input("resourceName", required: true)] + public string ResourceName { get; set; } = null!; + + public GetFederatedIdentityCredentialArgs() + { + } + public static new GetFederatedIdentityCredentialArgs Empty => new GetFederatedIdentityCredentialArgs(); + } + + public sealed class GetFederatedIdentityCredentialInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the federated identity credential resource. + /// + [Input("federatedIdentityCredentialResourceName", required: true)] + public Input FederatedIdentityCredentialResourceName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the identity resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + public GetFederatedIdentityCredentialInvokeArgs() + { + } + public static new GetFederatedIdentityCredentialInvokeArgs Empty => new GetFederatedIdentityCredentialInvokeArgs(); + } + + + [OutputType] + public sealed class GetFederatedIdentityCredentialResult + { + /// + /// The list of audiences that can appear in the issued token. + /// + public readonly ImmutableArray Audiences; + /// + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + /// + public readonly string Id; + /// + /// The URL of the issuer to be trusted. + /// + public readonly string Issuer; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The identifier of the external identity. + /// + public readonly string Subject; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetFederatedIdentityCredentialResult( + ImmutableArray audiences, + + string id, + + string issuer, + + string name, + + string subject, + + Outputs.SystemDataResponse systemData, + + string type) + { + Audiences = audiences; + Id = id; + Issuer = issuer; + Name = name; + Subject = subject; + SystemData = systemData; + Type = type; + } + } +} diff --git a/sdk/dotnet/ManagedIdentity/V20241130/GetUserAssignedIdentity.cs b/sdk/dotnet/ManagedIdentity/V20241130/GetUserAssignedIdentity.cs new file mode 100644 index 000000000000..c84300885d85 --- /dev/null +++ b/sdk/dotnet/ManagedIdentity/V20241130/GetUserAssignedIdentity.cs @@ -0,0 +1,153 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ManagedIdentity.V20241130 +{ + public static class GetUserAssignedIdentity + { + /// + /// Gets the identity. + /// + public static Task InvokeAsync(GetUserAssignedIdentityArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:managedidentity/v20241130:getUserAssignedIdentity", args ?? new GetUserAssignedIdentityArgs(), options.WithDefaults()); + + /// + /// Gets the identity. + /// + public static Output Invoke(GetUserAssignedIdentityInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:managedidentity/v20241130:getUserAssignedIdentity", args ?? new GetUserAssignedIdentityInvokeArgs(), options.WithDefaults()); + + /// + /// Gets the identity. + /// + public static Output Invoke(GetUserAssignedIdentityInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:managedidentity/v20241130:getUserAssignedIdentity", args ?? new GetUserAssignedIdentityInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetUserAssignedIdentityArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the Resource Group to which the identity belongs. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the identity resource. + /// + [Input("resourceName", required: true)] + public string ResourceName { get; set; } = null!; + + public GetUserAssignedIdentityArgs() + { + } + public static new GetUserAssignedIdentityArgs Empty => new GetUserAssignedIdentityArgs(); + } + + public sealed class GetUserAssignedIdentityInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the Resource Group to which the identity belongs. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the identity resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + public GetUserAssignedIdentityInvokeArgs() + { + } + public static new GetUserAssignedIdentityInvokeArgs Empty => new GetUserAssignedIdentityInvokeArgs(); + } + + + [OutputType] + public sealed class GetUserAssignedIdentityResult + { + /// + /// The id of the app associated with the identity. This is a random generated UUID by MSI. + /// + public readonly string ClientId; + /// + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + /// + public readonly string Id; + /// + /// Enum to configure regional restrictions on identity assignment, as necessary. + /// + public readonly string? IsolationScope; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The id of the service principal object associated with the created identity. + /// + public readonly string PrincipalId; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The id of the tenant which the identity belongs to. + /// + public readonly string TenantId; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetUserAssignedIdentityResult( + string clientId, + + string id, + + string? isolationScope, + + string location, + + string name, + + string principalId, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string tenantId, + + string type) + { + ClientId = clientId; + Id = id; + IsolationScope = isolationScope; + Location = location; + Name = name; + PrincipalId = principalId; + SystemData = systemData; + Tags = tags; + TenantId = tenantId; + Type = type; + } + } +} diff --git a/sdk/dotnet/ManagedIdentity/V20241130/Outputs/SystemDataResponse.cs b/sdk/dotnet/ManagedIdentity/V20241130/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..b05ad5605787 --- /dev/null +++ b/sdk/dotnet/ManagedIdentity/V20241130/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ManagedIdentity.V20241130.Outputs +{ + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC). + /// + public readonly string? CreatedAt; + /// + /// The identity that created the resource. + /// + public readonly string? CreatedBy; + /// + /// The type of identity that created the resource. + /// + public readonly string? CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string? LastModifiedAt; + /// + /// The identity that last modified the resource. + /// + public readonly string? LastModifiedBy; + /// + /// The type of identity that last modified the resource. + /// + public readonly string? LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string? createdAt, + + string? createdBy, + + string? createdByType, + + string? lastModifiedAt, + + string? lastModifiedBy, + + string? lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/ManagedIdentity/V20241130/README.md b/sdk/dotnet/ManagedIdentity/V20241130/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/ManagedIdentity/V20241130/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/ManagedIdentity/V20241130/UserAssignedIdentity.cs b/sdk/dotnet/ManagedIdentity/V20241130/UserAssignedIdentity.cs new file mode 100644 index 000000000000..9329ea5f281a --- /dev/null +++ b/sdk/dotnet/ManagedIdentity/V20241130/UserAssignedIdentity.cs @@ -0,0 +1,168 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ManagedIdentity.V20241130 +{ + /// + /// Describes an identity resource. + /// + [AzureNativeResourceType("azure-native:managedidentity/v20241130:UserAssignedIdentity")] + public partial class UserAssignedIdentity : global::Pulumi.CustomResource + { + /// + /// The id of the app associated with the identity. This is a random generated UUID by MSI. + /// + [Output("clientId")] + public Output ClientId { get; private set; } = null!; + + /// + /// Enum to configure regional restrictions on identity assignment, as necessary. + /// + [Output("isolationScope")] + public Output IsolationScope { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The id of the service principal object associated with the created identity. + /// + [Output("principalId")] + public Output PrincipalId { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The id of the tenant which the identity belongs to. + /// + [Output("tenantId")] + public Output TenantId { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a UserAssignedIdentity resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public UserAssignedIdentity(string name, UserAssignedIdentityArgs args, CustomResourceOptions? options = null) + : base("azure-native:managedidentity/v20241130:UserAssignedIdentity", name, args ?? new UserAssignedIdentityArgs(), MakeResourceOptions(options, "")) + { + } + + private UserAssignedIdentity(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:managedidentity/v20241130:UserAssignedIdentity", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:managedidentity:UserAssignedIdentity" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20150831preview:UserAssignedIdentity" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20181130:UserAssignedIdentity" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20210930preview:UserAssignedIdentity" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20220131preview:UserAssignedIdentity" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20230131:UserAssignedIdentity" }, + new global::Pulumi.Alias { Type = "azure-native:managedidentity/v20230731preview:UserAssignedIdentity" }, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing UserAssignedIdentity resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static UserAssignedIdentity Get(string name, Input id, CustomResourceOptions? options = null) + { + return new UserAssignedIdentity(name, id, options); + } + } + + public sealed class UserAssignedIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// Enum to configure regional restrictions on identity assignment, as necessary. + /// + [Input("isolationScope")] + public InputUnion? IsolationScope { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the Resource Group to which the identity belongs. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the identity resource. + /// + [Input("resourceName")] + public Input? ResourceName { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public UserAssignedIdentityArgs() + { + } + public static new UserAssignedIdentityArgs Empty => new UserAssignedIdentityArgs(); + } +} diff --git a/sdk/nodejs/devopsinfrastructure/getPool.ts b/sdk/nodejs/devopsinfrastructure/getPool.ts index 33a0c922cf79..90bb7a6cae23 100644 --- a/sdk/nodejs/devopsinfrastructure/getPool.ts +++ b/sdk/nodejs/devopsinfrastructure/getPool.ts @@ -11,7 +11,7 @@ import * as utilities from "../utilities"; * Get a Pool * Azure REST API version: 2023-10-30-preview. * - * Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19. + * Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21. */ export function getPool(args: GetPoolArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -93,7 +93,7 @@ export interface GetPoolResult { * Get a Pool * Azure REST API version: 2023-10-30-preview. * - * Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19. + * Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21. */ export function getPoolOutput(args: GetPoolOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); diff --git a/sdk/nodejs/devopsinfrastructure/index.ts b/sdk/nodejs/devopsinfrastructure/index.ts index de75ffda182e..d2ab3e9ce2d3 100644 --- a/sdk/nodejs/devopsinfrastructure/index.ts +++ b/sdk/nodejs/devopsinfrastructure/index.ts @@ -25,6 +25,7 @@ import * as v20231213preview from "./v20231213preview"; import * as v20240326preview from "./v20240326preview"; import * as v20240404preview from "./v20240404preview"; import * as v20241019 from "./v20241019"; +import * as v20250121 from "./v20250121"; export { v20231030preview, @@ -32,6 +33,7 @@ export { v20240326preview, v20240404preview, v20241019, + v20250121, }; const _module = { diff --git a/sdk/nodejs/devopsinfrastructure/pool.ts b/sdk/nodejs/devopsinfrastructure/pool.ts index 5427e7c3a04e..6dbbdd294354 100644 --- a/sdk/nodejs/devopsinfrastructure/pool.ts +++ b/sdk/nodejs/devopsinfrastructure/pool.ts @@ -11,7 +11,7 @@ import * as utilities from "../utilities"; * Concrete tracked resource types can be created by aliasing this type using a specific property type. * Azure REST API version: 2023-10-30-preview. * - * Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19. + * Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21. */ export class Pool extends pulumi.CustomResource { /** @@ -147,7 +147,7 @@ export class Pool extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure/v20231030preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20231213preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240326preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240404preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20241019:Pool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure/v20231030preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20231213preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240326preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240404preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20241019:Pool" }, { type: "azure-native:devopsinfrastructure/v20250121:Pool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Pool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/devopsinfrastructure/v20231030preview/pool.ts b/sdk/nodejs/devopsinfrastructure/v20231030preview/pool.ts index 37088adb0fea..07d9c1c186e1 100644 --- a/sdk/nodejs/devopsinfrastructure/v20231030preview/pool.ts +++ b/sdk/nodejs/devopsinfrastructure/v20231030preview/pool.ts @@ -144,7 +144,7 @@ export class Pool extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure:Pool" }, { type: "azure-native:devopsinfrastructure/v20231213preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240326preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240404preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20241019:Pool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure:Pool" }, { type: "azure-native:devopsinfrastructure/v20231213preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240326preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240404preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20241019:Pool" }, { type: "azure-native:devopsinfrastructure/v20250121:Pool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Pool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/devopsinfrastructure/v20231213preview/pool.ts b/sdk/nodejs/devopsinfrastructure/v20231213preview/pool.ts index af2756bb4af8..2277b0a01d30 100644 --- a/sdk/nodejs/devopsinfrastructure/v20231213preview/pool.ts +++ b/sdk/nodejs/devopsinfrastructure/v20231213preview/pool.ts @@ -144,7 +144,7 @@ export class Pool extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure:Pool" }, { type: "azure-native:devopsinfrastructure/v20231030preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240326preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240404preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20241019:Pool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure:Pool" }, { type: "azure-native:devopsinfrastructure/v20231030preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240326preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240404preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20241019:Pool" }, { type: "azure-native:devopsinfrastructure/v20250121:Pool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Pool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/devopsinfrastructure/v20240326preview/pool.ts b/sdk/nodejs/devopsinfrastructure/v20240326preview/pool.ts index 9aa4a1231caa..fa616c79d57c 100644 --- a/sdk/nodejs/devopsinfrastructure/v20240326preview/pool.ts +++ b/sdk/nodejs/devopsinfrastructure/v20240326preview/pool.ts @@ -144,7 +144,7 @@ export class Pool extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure:Pool" }, { type: "azure-native:devopsinfrastructure/v20231030preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20231213preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240404preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20241019:Pool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure:Pool" }, { type: "azure-native:devopsinfrastructure/v20231030preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20231213preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240404preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20241019:Pool" }, { type: "azure-native:devopsinfrastructure/v20250121:Pool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Pool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/devopsinfrastructure/v20240404preview/pool.ts b/sdk/nodejs/devopsinfrastructure/v20240404preview/pool.ts index 950959bade8a..5016867971f9 100644 --- a/sdk/nodejs/devopsinfrastructure/v20240404preview/pool.ts +++ b/sdk/nodejs/devopsinfrastructure/v20240404preview/pool.ts @@ -144,7 +144,7 @@ export class Pool extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure:Pool" }, { type: "azure-native:devopsinfrastructure/v20231030preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20231213preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240326preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20241019:Pool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure:Pool" }, { type: "azure-native:devopsinfrastructure/v20231030preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20231213preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240326preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20241019:Pool" }, { type: "azure-native:devopsinfrastructure/v20250121:Pool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Pool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/devopsinfrastructure/v20241019/pool.ts b/sdk/nodejs/devopsinfrastructure/v20241019/pool.ts index ce738ebee779..571d50be8da6 100644 --- a/sdk/nodejs/devopsinfrastructure/v20241019/pool.ts +++ b/sdk/nodejs/devopsinfrastructure/v20241019/pool.ts @@ -144,7 +144,7 @@ export class Pool extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure:Pool" }, { type: "azure-native:devopsinfrastructure/v20231030preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20231213preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240326preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240404preview:Pool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure:Pool" }, { type: "azure-native:devopsinfrastructure/v20231030preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20231213preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240326preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240404preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20250121:Pool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Pool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/devopsinfrastructure/v20250121/getPool.ts b/sdk/nodejs/devopsinfrastructure/v20250121/getPool.ts new file mode 100644 index 000000000000..09b9ed0a6a9d --- /dev/null +++ b/sdk/nodejs/devopsinfrastructure/v20250121/getPool.ts @@ -0,0 +1,109 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a Pool + */ +export function getPool(args: GetPoolArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:devopsinfrastructure/v20250121:getPool", { + "poolName": args.poolName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetPoolArgs { + /** + * Name of the pool. It needs to be globally unique. + */ + poolName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * Concrete tracked resource types can be created by aliasing this type using a specific property type. + */ +export interface GetPoolResult { + /** + * Defines how the machine will be handled once it executed a job. + */ + readonly agentProfile: outputs.devopsinfrastructure.v20250121.StatefulResponse | outputs.devopsinfrastructure.v20250121.StatelessAgentProfileResponse; + /** + * The resource id of the DevCenter Project the pool belongs to. + */ + readonly devCenterProjectResourceId: string; + /** + * Defines the type of fabric the agent will run on. + */ + readonly fabricProfile: outputs.devopsinfrastructure.v20250121.VmssFabricProfileResponse; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + */ + readonly id: string; + /** + * The managed service identities assigned to this resource. + */ + readonly identity?: outputs.devopsinfrastructure.v20250121.ManagedServiceIdentityResponse; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * Defines how many resources can there be created at any given time. + */ + readonly maximumConcurrency: number; + /** + * The name of the resource + */ + readonly name: string; + /** + * Defines the organization in which the pool will be used. + */ + readonly organizationProfile: outputs.devopsinfrastructure.v20250121.AzureDevOpsOrganizationProfileResponse | outputs.devopsinfrastructure.v20250121.GitHubOrganizationProfileResponse; + /** + * The status of the current operation. + */ + readonly provisioningState?: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.devopsinfrastructure.v20250121.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get a Pool + */ +export function getPoolOutput(args: GetPoolOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("azure-native:devopsinfrastructure/v20250121:getPool", { + "poolName": args.poolName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetPoolOutputArgs { + /** + * Name of the pool. It needs to be globally unique. + */ + poolName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/devopsinfrastructure/v20250121/index.ts b/sdk/nodejs/devopsinfrastructure/v20250121/index.ts new file mode 100644 index 000000000000..e4ad770f63a0 --- /dev/null +++ b/sdk/nodejs/devopsinfrastructure/v20250121/index.ts @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { GetPoolArgs, GetPoolResult, GetPoolOutputArgs } from "./getPool"; +export const getPool: typeof import("./getPool").getPool = null as any; +export const getPoolOutput: typeof import("./getPool").getPoolOutput = null as any; +utilities.lazyLoad(exports, ["getPool","getPoolOutput"], () => require("./getPool")); + +export { PoolArgs } from "./pool"; +export type Pool = import("./pool").Pool; +export const Pool: typeof import("./pool").Pool = null as any; +utilities.lazyLoad(exports, ["Pool"], () => require("./pool")); + + +// Export enums: +export * from "../../types/enums/devopsinfrastructure/v20250121"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:devopsinfrastructure/v20250121:Pool": + return new Pool(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "devopsinfrastructure/v20250121", _module) diff --git a/sdk/nodejs/devopsinfrastructure/v20250121/pool.ts b/sdk/nodejs/devopsinfrastructure/v20250121/pool.ts new file mode 100644 index 000000000000..3285f3c7299f --- /dev/null +++ b/sdk/nodejs/devopsinfrastructure/v20250121/pool.ts @@ -0,0 +1,201 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Concrete tracked resource types can be created by aliasing this type using a specific property type. + */ +export class Pool extends pulumi.CustomResource { + /** + * Get an existing Pool resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Pool { + return new Pool(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:devopsinfrastructure/v20250121:Pool'; + + /** + * Returns true if the given object is an instance of Pool. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Pool { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Pool.__pulumiType; + } + + /** + * Defines how the machine will be handled once it executed a job. + */ + public readonly agentProfile!: pulumi.Output; + /** + * The resource id of the DevCenter Project the pool belongs to. + */ + public readonly devCenterProjectResourceId!: pulumi.Output; + /** + * Defines the type of fabric the agent will run on. + */ + public readonly fabricProfile!: pulumi.Output; + /** + * The managed service identities assigned to this resource. + */ + public readonly identity!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * Defines how many resources can there be created at any given time. + */ + public readonly maximumConcurrency!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Defines the organization in which the pool will be used. + */ + public readonly organizationProfile!: pulumi.Output; + /** + * The status of the current operation. + */ + public readonly provisioningState!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Pool resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: PoolArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.agentProfile === undefined) && !opts.urn) { + throw new Error("Missing required property 'agentProfile'"); + } + if ((!args || args.devCenterProjectResourceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'devCenterProjectResourceId'"); + } + if ((!args || args.fabricProfile === undefined) && !opts.urn) { + throw new Error("Missing required property 'fabricProfile'"); + } + if ((!args || args.maximumConcurrency === undefined) && !opts.urn) { + throw new Error("Missing required property 'maximumConcurrency'"); + } + if ((!args || args.organizationProfile === undefined) && !opts.urn) { + throw new Error("Missing required property 'organizationProfile'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["agentProfile"] = args ? args.agentProfile : undefined; + resourceInputs["devCenterProjectResourceId"] = args ? args.devCenterProjectResourceId : undefined; + resourceInputs["fabricProfile"] = args ? args.fabricProfile : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["maximumConcurrency"] = args ? args.maximumConcurrency : undefined; + resourceInputs["organizationProfile"] = args ? args.organizationProfile : undefined; + resourceInputs["poolName"] = args ? args.poolName : undefined; + resourceInputs["provisioningState"] = args ? args.provisioningState : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["agentProfile"] = undefined /*out*/; + resourceInputs["devCenterProjectResourceId"] = undefined /*out*/; + resourceInputs["fabricProfile"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["maximumConcurrency"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["organizationProfile"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:devopsinfrastructure:Pool" }, { type: "azure-native:devopsinfrastructure/v20231030preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20231213preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240326preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20240404preview:Pool" }, { type: "azure-native:devopsinfrastructure/v20241019:Pool" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Pool.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Pool resource. + */ +export interface PoolArgs { + /** + * Defines how the machine will be handled once it executed a job. + */ + agentProfile: pulumi.Input; + /** + * The resource id of the DevCenter Project the pool belongs to. + */ + devCenterProjectResourceId: pulumi.Input; + /** + * Defines the type of fabric the agent will run on. + */ + fabricProfile: pulumi.Input; + /** + * The managed service identities assigned to this resource. + */ + identity?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * Defines how many resources can there be created at any given time. + */ + maximumConcurrency: pulumi.Input; + /** + * Defines the organization in which the pool will be used. + */ + organizationProfile: pulumi.Input; + /** + * Name of the pool. It needs to be globally unique. + */ + poolName?: pulumi.Input; + /** + * The status of the current operation. + */ + provisioningState?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/managedidentity/federatedIdentityCredential.ts b/sdk/nodejs/managedidentity/federatedIdentityCredential.ts index 9c89a908d43b..f8e8b43d7e86 100644 --- a/sdk/nodejs/managedidentity/federatedIdentityCredential.ts +++ b/sdk/nodejs/managedidentity/federatedIdentityCredential.ts @@ -11,7 +11,7 @@ import * as utilities from "../utilities"; * Describes a federated identity credential. * Azure REST API version: 2023-01-31. Prior API version in Azure Native 1.x: 2022-01-31-preview. * - * Other available API versions: 2023-07-31-preview. + * Other available API versions: 2023-07-31-preview, 2024-11-30. */ export class FederatedIdentityCredential extends pulumi.CustomResource { /** @@ -109,7 +109,7 @@ export class FederatedIdentityCredential extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:managedidentity/v20220131preview:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20230131:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20230731preview:FederatedIdentityCredential" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:managedidentity/v20220131preview:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20230131:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20230731preview:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20241130:FederatedIdentityCredential" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(FederatedIdentityCredential.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/managedidentity/getFederatedIdentityCredential.ts b/sdk/nodejs/managedidentity/getFederatedIdentityCredential.ts index 31a8a18389ad..6237ba8e8982 100644 --- a/sdk/nodejs/managedidentity/getFederatedIdentityCredential.ts +++ b/sdk/nodejs/managedidentity/getFederatedIdentityCredential.ts @@ -11,7 +11,7 @@ import * as utilities from "../utilities"; * Gets the federated identity credential. * Azure REST API version: 2023-01-31. * - * Other available API versions: 2023-07-31-preview. + * Other available API versions: 2023-07-31-preview, 2024-11-30. */ export function getFederatedIdentityCredential(args: GetFederatedIdentityCredentialArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -74,7 +74,7 @@ export interface GetFederatedIdentityCredentialResult { * Gets the federated identity credential. * Azure REST API version: 2023-01-31. * - * Other available API versions: 2023-07-31-preview. + * Other available API versions: 2023-07-31-preview, 2024-11-30. */ export function getFederatedIdentityCredentialOutput(args: GetFederatedIdentityCredentialOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); diff --git a/sdk/nodejs/managedidentity/getUserAssignedIdentity.ts b/sdk/nodejs/managedidentity/getUserAssignedIdentity.ts index 257d7aed8527..c5ac64285780 100644 --- a/sdk/nodejs/managedidentity/getUserAssignedIdentity.ts +++ b/sdk/nodejs/managedidentity/getUserAssignedIdentity.ts @@ -11,7 +11,7 @@ import * as utilities from "../utilities"; * Gets the identity. * Azure REST API version: 2023-01-31. * - * Other available API versions: 2023-07-31-preview. + * Other available API versions: 2023-07-31-preview, 2024-11-30. */ export function getUserAssignedIdentity(args: GetUserAssignedIdentityArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -77,7 +77,7 @@ export interface GetUserAssignedIdentityResult { * Gets the identity. * Azure REST API version: 2023-01-31. * - * Other available API versions: 2023-07-31-preview. + * Other available API versions: 2023-07-31-preview, 2024-11-30. */ export function getUserAssignedIdentityOutput(args: GetUserAssignedIdentityOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); diff --git a/sdk/nodejs/managedidentity/index.ts b/sdk/nodejs/managedidentity/index.ts index dc3531b29f57..825c1d505bb8 100644 --- a/sdk/nodejs/managedidentity/index.ts +++ b/sdk/nodejs/managedidentity/index.ts @@ -35,11 +35,13 @@ utilities.lazyLoad(exports, ["UserAssignedIdentity"], () => require("./userAssig import * as v20220131preview from "./v20220131preview"; import * as v20230131 from "./v20230131"; import * as v20230731preview from "./v20230731preview"; +import * as v20241130 from "./v20241130"; export { v20220131preview, v20230131, v20230731preview, + v20241130, }; const _module = { diff --git a/sdk/nodejs/managedidentity/userAssignedIdentity.ts b/sdk/nodejs/managedidentity/userAssignedIdentity.ts index 125ef0708632..140a54f6c575 100644 --- a/sdk/nodejs/managedidentity/userAssignedIdentity.ts +++ b/sdk/nodejs/managedidentity/userAssignedIdentity.ts @@ -11,7 +11,7 @@ import * as utilities from "../utilities"; * Describes an identity resource. * Azure REST API version: 2023-01-31. Prior API version in Azure Native 1.x: 2018-11-30. * - * Other available API versions: 2023-07-31-preview. + * Other available API versions: 2023-07-31-preview, 2024-11-30. */ export class UserAssignedIdentity extends pulumi.CustomResource { /** @@ -108,7 +108,7 @@ export class UserAssignedIdentity extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:managedidentity/v20150831preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20181130:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20210930preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20220131preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20230131:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20230731preview:UserAssignedIdentity" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:managedidentity/v20150831preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20181130:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20210930preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20220131preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20230131:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20230731preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20241130:UserAssignedIdentity" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(UserAssignedIdentity.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/managedidentity/v20230131/federatedIdentityCredential.ts b/sdk/nodejs/managedidentity/v20230131/federatedIdentityCredential.ts index 27c25373920a..35f3862b26d8 100644 --- a/sdk/nodejs/managedidentity/v20230131/federatedIdentityCredential.ts +++ b/sdk/nodejs/managedidentity/v20230131/federatedIdentityCredential.ts @@ -106,7 +106,7 @@ export class FederatedIdentityCredential extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:managedidentity:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20220131preview:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20230731preview:FederatedIdentityCredential" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:managedidentity:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20220131preview:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20230731preview:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20241130:FederatedIdentityCredential" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(FederatedIdentityCredential.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/managedidentity/v20230131/userAssignedIdentity.ts b/sdk/nodejs/managedidentity/v20230131/userAssignedIdentity.ts index 9c664f284eb1..e87ca0343c74 100644 --- a/sdk/nodejs/managedidentity/v20230131/userAssignedIdentity.ts +++ b/sdk/nodejs/managedidentity/v20230131/userAssignedIdentity.ts @@ -105,7 +105,7 @@ export class UserAssignedIdentity extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:managedidentity:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20150831preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20181130:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20210930preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20220131preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20230731preview:UserAssignedIdentity" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:managedidentity:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20150831preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20181130:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20210930preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20220131preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20230731preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20241130:UserAssignedIdentity" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(UserAssignedIdentity.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/managedidentity/v20230731preview/federatedIdentityCredential.ts b/sdk/nodejs/managedidentity/v20230731preview/federatedIdentityCredential.ts index 3c3dde280ce6..c8cb680c4545 100644 --- a/sdk/nodejs/managedidentity/v20230731preview/federatedIdentityCredential.ts +++ b/sdk/nodejs/managedidentity/v20230731preview/federatedIdentityCredential.ts @@ -106,7 +106,7 @@ export class FederatedIdentityCredential extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:managedidentity:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20220131preview:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20230131:FederatedIdentityCredential" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:managedidentity:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20220131preview:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20230131:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20241130:FederatedIdentityCredential" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(FederatedIdentityCredential.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/managedidentity/v20230731preview/userAssignedIdentity.ts b/sdk/nodejs/managedidentity/v20230731preview/userAssignedIdentity.ts index e31aaa86048d..f186b490e955 100644 --- a/sdk/nodejs/managedidentity/v20230731preview/userAssignedIdentity.ts +++ b/sdk/nodejs/managedidentity/v20230731preview/userAssignedIdentity.ts @@ -105,7 +105,7 @@ export class UserAssignedIdentity extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:managedidentity:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20150831preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20181130:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20210930preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20220131preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20230131:UserAssignedIdentity" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:managedidentity:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20150831preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20181130:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20210930preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20220131preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20230131:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20241130:UserAssignedIdentity" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(UserAssignedIdentity.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/managedidentity/v20241130/federatedIdentityCredential.ts b/sdk/nodejs/managedidentity/v20241130/federatedIdentityCredential.ts new file mode 100644 index 000000000000..bf3d1414a892 --- /dev/null +++ b/sdk/nodejs/managedidentity/v20241130/federatedIdentityCredential.ts @@ -0,0 +1,143 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Describes a federated identity credential. + */ +export class FederatedIdentityCredential extends pulumi.CustomResource { + /** + * Get an existing FederatedIdentityCredential resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): FederatedIdentityCredential { + return new FederatedIdentityCredential(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:managedidentity/v20241130:FederatedIdentityCredential'; + + /** + * Returns true if the given object is an instance of FederatedIdentityCredential. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is FederatedIdentityCredential { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === FederatedIdentityCredential.__pulumiType; + } + + /** + * The list of audiences that can appear in the issued token. + */ + public readonly audiences!: pulumi.Output; + /** + * The URL of the issuer to be trusted. + */ + public readonly issuer!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The identifier of the external identity. + */ + public readonly subject!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a FederatedIdentityCredential resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: FederatedIdentityCredentialArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.audiences === undefined) && !opts.urn) { + throw new Error("Missing required property 'audiences'"); + } + if ((!args || args.issuer === undefined) && !opts.urn) { + throw new Error("Missing required property 'issuer'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.resourceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceName'"); + } + if ((!args || args.subject === undefined) && !opts.urn) { + throw new Error("Missing required property 'subject'"); + } + resourceInputs["audiences"] = args ? args.audiences : undefined; + resourceInputs["federatedIdentityCredentialResourceName"] = args ? args.federatedIdentityCredentialResourceName : undefined; + resourceInputs["issuer"] = args ? args.issuer : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["resourceName"] = args ? args.resourceName : undefined; + resourceInputs["subject"] = args ? args.subject : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["audiences"] = undefined /*out*/; + resourceInputs["issuer"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["subject"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:managedidentity:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20220131preview:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20230131:FederatedIdentityCredential" }, { type: "azure-native:managedidentity/v20230731preview:FederatedIdentityCredential" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(FederatedIdentityCredential.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a FederatedIdentityCredential resource. + */ +export interface FederatedIdentityCredentialArgs { + /** + * The list of audiences that can appear in the issued token. + */ + audiences: pulumi.Input[]>; + /** + * The name of the federated identity credential resource. + */ + federatedIdentityCredentialResourceName?: pulumi.Input; + /** + * The URL of the issuer to be trusted. + */ + issuer: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the identity resource. + */ + resourceName: pulumi.Input; + /** + * The identifier of the external identity. + */ + subject: pulumi.Input; +} diff --git a/sdk/nodejs/managedidentity/v20241130/getFederatedIdentityCredential.ts b/sdk/nodejs/managedidentity/v20241130/getFederatedIdentityCredential.ts new file mode 100644 index 000000000000..d0638065186f --- /dev/null +++ b/sdk/nodejs/managedidentity/v20241130/getFederatedIdentityCredential.ts @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets the federated identity credential. + */ +export function getFederatedIdentityCredential(args: GetFederatedIdentityCredentialArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:managedidentity/v20241130:getFederatedIdentityCredential", { + "federatedIdentityCredentialResourceName": args.federatedIdentityCredentialResourceName, + "resourceGroupName": args.resourceGroupName, + "resourceName": args.resourceName, + }, opts); +} + +export interface GetFederatedIdentityCredentialArgs { + /** + * The name of the federated identity credential resource. + */ + federatedIdentityCredentialResourceName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the identity resource. + */ + resourceName: string; +} + +/** + * Describes a federated identity credential. + */ +export interface GetFederatedIdentityCredentialResult { + /** + * The list of audiences that can appear in the issued token. + */ + readonly audiences: string[]; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + */ + readonly id: string; + /** + * The URL of the issuer to be trusted. + */ + readonly issuer: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * The identifier of the external identity. + */ + readonly subject: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.managedidentity.v20241130.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Gets the federated identity credential. + */ +export function getFederatedIdentityCredentialOutput(args: GetFederatedIdentityCredentialOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("azure-native:managedidentity/v20241130:getFederatedIdentityCredential", { + "federatedIdentityCredentialResourceName": args.federatedIdentityCredentialResourceName, + "resourceGroupName": args.resourceGroupName, + "resourceName": args.resourceName, + }, opts); +} + +export interface GetFederatedIdentityCredentialOutputArgs { + /** + * The name of the federated identity credential resource. + */ + federatedIdentityCredentialResourceName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the identity resource. + */ + resourceName: pulumi.Input; +} diff --git a/sdk/nodejs/managedidentity/v20241130/getUserAssignedIdentity.ts b/sdk/nodejs/managedidentity/v20241130/getUserAssignedIdentity.ts new file mode 100644 index 000000000000..89646f51c0eb --- /dev/null +++ b/sdk/nodejs/managedidentity/v20241130/getUserAssignedIdentity.ts @@ -0,0 +1,97 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets the identity. + */ +export function getUserAssignedIdentity(args: GetUserAssignedIdentityArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:managedidentity/v20241130:getUserAssignedIdentity", { + "resourceGroupName": args.resourceGroupName, + "resourceName": args.resourceName, + }, opts); +} + +export interface GetUserAssignedIdentityArgs { + /** + * The name of the Resource Group to which the identity belongs. + */ + resourceGroupName: string; + /** + * The name of the identity resource. + */ + resourceName: string; +} + +/** + * Describes an identity resource. + */ +export interface GetUserAssignedIdentityResult { + /** + * The id of the app associated with the identity. This is a random generated UUID by MSI. + */ + readonly clientId: string; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + */ + readonly id: string; + /** + * Enum to configure regional restrictions on identity assignment, as necessary. + */ + readonly isolationScope?: string; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * The id of the service principal object associated with the created identity. + */ + readonly principalId: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.managedidentity.v20241130.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The id of the tenant which the identity belongs to. + */ + readonly tenantId: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Gets the identity. + */ +export function getUserAssignedIdentityOutput(args: GetUserAssignedIdentityOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("azure-native:managedidentity/v20241130:getUserAssignedIdentity", { + "resourceGroupName": args.resourceGroupName, + "resourceName": args.resourceName, + }, opts); +} + +export interface GetUserAssignedIdentityOutputArgs { + /** + * The name of the Resource Group to which the identity belongs. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the identity resource. + */ + resourceName: pulumi.Input; +} diff --git a/sdk/nodejs/managedidentity/v20241130/index.ts b/sdk/nodejs/managedidentity/v20241130/index.ts new file mode 100644 index 000000000000..1e9e6bcf604c --- /dev/null +++ b/sdk/nodejs/managedidentity/v20241130/index.ts @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { FederatedIdentityCredentialArgs } from "./federatedIdentityCredential"; +export type FederatedIdentityCredential = import("./federatedIdentityCredential").FederatedIdentityCredential; +export const FederatedIdentityCredential: typeof import("./federatedIdentityCredential").FederatedIdentityCredential = null as any; +utilities.lazyLoad(exports, ["FederatedIdentityCredential"], () => require("./federatedIdentityCredential")); + +export { GetFederatedIdentityCredentialArgs, GetFederatedIdentityCredentialResult, GetFederatedIdentityCredentialOutputArgs } from "./getFederatedIdentityCredential"; +export const getFederatedIdentityCredential: typeof import("./getFederatedIdentityCredential").getFederatedIdentityCredential = null as any; +export const getFederatedIdentityCredentialOutput: typeof import("./getFederatedIdentityCredential").getFederatedIdentityCredentialOutput = null as any; +utilities.lazyLoad(exports, ["getFederatedIdentityCredential","getFederatedIdentityCredentialOutput"], () => require("./getFederatedIdentityCredential")); + +export { GetUserAssignedIdentityArgs, GetUserAssignedIdentityResult, GetUserAssignedIdentityOutputArgs } from "./getUserAssignedIdentity"; +export const getUserAssignedIdentity: typeof import("./getUserAssignedIdentity").getUserAssignedIdentity = null as any; +export const getUserAssignedIdentityOutput: typeof import("./getUserAssignedIdentity").getUserAssignedIdentityOutput = null as any; +utilities.lazyLoad(exports, ["getUserAssignedIdentity","getUserAssignedIdentityOutput"], () => require("./getUserAssignedIdentity")); + +export { UserAssignedIdentityArgs } from "./userAssignedIdentity"; +export type UserAssignedIdentity = import("./userAssignedIdentity").UserAssignedIdentity; +export const UserAssignedIdentity: typeof import("./userAssignedIdentity").UserAssignedIdentity = null as any; +utilities.lazyLoad(exports, ["UserAssignedIdentity"], () => require("./userAssignedIdentity")); + + +// Export enums: +export * from "../../types/enums/managedidentity/v20241130"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:managedidentity/v20241130:FederatedIdentityCredential": + return new FederatedIdentityCredential(name, undefined, { urn }) + case "azure-native:managedidentity/v20241130:UserAssignedIdentity": + return new UserAssignedIdentity(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "managedidentity/v20241130", _module) diff --git a/sdk/nodejs/managedidentity/v20241130/userAssignedIdentity.ts b/sdk/nodejs/managedidentity/v20241130/userAssignedIdentity.ts new file mode 100644 index 000000000000..cfe55b9d0e47 --- /dev/null +++ b/sdk/nodejs/managedidentity/v20241130/userAssignedIdentity.ts @@ -0,0 +1,144 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Describes an identity resource. + */ +export class UserAssignedIdentity extends pulumi.CustomResource { + /** + * Get an existing UserAssignedIdentity resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): UserAssignedIdentity { + return new UserAssignedIdentity(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:managedidentity/v20241130:UserAssignedIdentity'; + + /** + * Returns true if the given object is an instance of UserAssignedIdentity. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is UserAssignedIdentity { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === UserAssignedIdentity.__pulumiType; + } + + /** + * The id of the app associated with the identity. This is a random generated UUID by MSI. + */ + public /*out*/ readonly clientId!: pulumi.Output; + /** + * Enum to configure regional restrictions on identity assignment, as necessary. + */ + public readonly isolationScope!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The id of the service principal object associated with the created identity. + */ + public /*out*/ readonly principalId!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The id of the tenant which the identity belongs to. + */ + public /*out*/ readonly tenantId!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a UserAssignedIdentity resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: UserAssignedIdentityArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["isolationScope"] = args ? args.isolationScope : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["resourceName"] = args ? args.resourceName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["clientId"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["principalId"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tenantId"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["clientId"] = undefined /*out*/; + resourceInputs["isolationScope"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["principalId"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["tenantId"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:managedidentity:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20150831preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20181130:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20210930preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20220131preview:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20230131:UserAssignedIdentity" }, { type: "azure-native:managedidentity/v20230731preview:UserAssignedIdentity" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(UserAssignedIdentity.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a UserAssignedIdentity resource. + */ +export interface UserAssignedIdentityArgs { + /** + * Enum to configure regional restrictions on identity assignment, as necessary. + */ + isolationScope?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * The name of the Resource Group to which the identity belongs. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the identity resource. + */ + resourceName?: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 7cfb63c3e541..cd1d8d9120cd 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -10072,6 +10072,9 @@ "devopsinfrastructure/v20241019/getPool.ts", "devopsinfrastructure/v20241019/index.ts", "devopsinfrastructure/v20241019/pool.ts", + "devopsinfrastructure/v20250121/getPool.ts", + "devopsinfrastructure/v20250121/index.ts", + "devopsinfrastructure/v20250121/pool.ts", "devspaces/controller.ts", "devspaces/getController.ts", "devspaces/index.ts", @@ -15235,6 +15238,11 @@ "managedidentity/v20230731preview/getUserAssignedIdentity.ts", "managedidentity/v20230731preview/index.ts", "managedidentity/v20230731preview/userAssignedIdentity.ts", + "managedidentity/v20241130/federatedIdentityCredential.ts", + "managedidentity/v20241130/getFederatedIdentityCredential.ts", + "managedidentity/v20241130/getUserAssignedIdentity.ts", + "managedidentity/v20241130/index.ts", + "managedidentity/v20241130/userAssignedIdentity.ts", "managednetwork/getManagedNetwork.ts", "managednetwork/getManagedNetworkGroup.ts", "managednetwork/getManagedNetworkPeeringPolicy.ts", @@ -25719,6 +25727,7 @@ "types/enums/devopsinfrastructure/v20240326preview/index.ts", "types/enums/devopsinfrastructure/v20240404preview/index.ts", "types/enums/devopsinfrastructure/v20241019/index.ts", + "types/enums/devopsinfrastructure/v20250121/index.ts", "types/enums/devspaces/index.ts", "types/enums/devspaces/v20190401/index.ts", "types/enums/devtestlab/index.ts", @@ -25989,6 +25998,8 @@ "types/enums/maintenance/v20230401/index.ts", "types/enums/maintenance/v20230901preview/index.ts", "types/enums/maintenance/v20231001preview/index.ts", + "types/enums/managedidentity/index.ts", + "types/enums/managedidentity/v20241130/index.ts", "types/enums/managednetwork/index.ts", "types/enums/managednetwork/v20190601preview/index.ts", "types/enums/managednetworkfabric/index.ts", diff --git a/sdk/nodejs/types/enums/datafactory/index.ts b/sdk/nodejs/types/enums/datafactory/index.ts index 2248982bb6a0..809a6c756ab4 100644 --- a/sdk/nodejs/types/enums/datafactory/index.ts +++ b/sdk/nodejs/types/enums/datafactory/index.ts @@ -563,6 +563,15 @@ export const ODataAuthenticationType = { */ export type ODataAuthenticationType = (typeof ODataAuthenticationType)[keyof typeof ODataAuthenticationType]; +export const OracleAuthenticationType = { + Basic: "Basic", +} as const; + +/** + * Authentication type for connecting to the Oracle database. Only used for Version 2.0. + */ +export type OracleAuthenticationType = (typeof OracleAuthenticationType)[keyof typeof OracleAuthenticationType]; + export const ParameterType = { Object: "Object", String: "String", diff --git a/sdk/nodejs/types/enums/datafactory/v20180601/index.ts b/sdk/nodejs/types/enums/datafactory/v20180601/index.ts index dc8a4be872b8..f5aae61ce495 100644 --- a/sdk/nodejs/types/enums/datafactory/v20180601/index.ts +++ b/sdk/nodejs/types/enums/datafactory/v20180601/index.ts @@ -557,6 +557,15 @@ export const ODataAuthenticationType = { */ export type ODataAuthenticationType = (typeof ODataAuthenticationType)[keyof typeof ODataAuthenticationType]; +export const OracleAuthenticationType = { + Basic: "Basic", +} as const; + +/** + * Authentication type for connecting to the Oracle database. Only used for Version 2.0. + */ +export type OracleAuthenticationType = (typeof OracleAuthenticationType)[keyof typeof OracleAuthenticationType]; + export const ParameterType = { Object: "Object", String: "String", diff --git a/sdk/nodejs/types/enums/devopsinfrastructure/index.ts b/sdk/nodejs/types/enums/devopsinfrastructure/index.ts index b25623c73825..562dee32e250 100644 --- a/sdk/nodejs/types/enums/devopsinfrastructure/index.ts +++ b/sdk/nodejs/types/enums/devopsinfrastructure/index.ts @@ -7,6 +7,7 @@ import * as v20231213preview from "./v20231213preview"; import * as v20240326preview from "./v20240326preview"; import * as v20240404preview from "./v20240404preview"; import * as v20241019 from "./v20241019"; +import * as v20250121 from "./v20250121"; export { v20231030preview, @@ -14,6 +15,7 @@ export { v20240326preview, v20240404preview, v20241019, + v20250121, }; export const ManagedServiceIdentityType = { diff --git a/sdk/nodejs/types/enums/devopsinfrastructure/v20250121/index.ts b/sdk/nodejs/types/enums/devopsinfrastructure/v20250121/index.ts new file mode 100644 index 000000000000..fff1442b5bf6 --- /dev/null +++ b/sdk/nodejs/types/enums/devopsinfrastructure/v20250121/index.ts @@ -0,0 +1,235 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const AzureDevOpsPermissionType = { + /** + * Pool will inherit permissions from the project or organization. + */ + Inherit: "Inherit", + /** + * Only the pool creator will be an admin of the pool. + */ + CreatorOnly: "CreatorOnly", + /** + * Only the specified accounts will be admins of the pool. + */ + SpecificAccounts: "SpecificAccounts", +} as const; + +/** + * Determines who has admin permissions to the Azure DevOps pool. + */ +export type AzureDevOpsPermissionType = (typeof AzureDevOpsPermissionType)[keyof typeof AzureDevOpsPermissionType]; + +export const CachingType = { + /** + * Don't use host caching. + */ + None: "None", + /** + * For workloads that only do read operations. + */ + ReadOnly: "ReadOnly", + /** + * For workloads that do a balance of read and write operations. + */ + ReadWrite: "ReadWrite", +} as const; + +/** + * The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. + */ +export type CachingType = (typeof CachingType)[keyof typeof CachingType]; + +export const CertificateStoreNameOption = { + /** + * The X.509 certificate store for personal certificates. + */ + My: "My", + /** + * The X.509 certificate store for trusted root certificate authorities (CAs). + */ + Root: "Root", +} as const; + +/** + * Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported. + */ +export type CertificateStoreNameOption = (typeof CertificateStoreNameOption)[keyof typeof CertificateStoreNameOption]; + +export const EphemeralType = { + /** + * Ephemeral is handled by Managed DevOps Pools service. + */ + Automatic: "Automatic", + /** + * CacheDisk ephemeral only, requires that the SKU has a cache that is large enough for the image. + */ + CacheDisk: "CacheDisk", + /** + * ResourceDisk ephemeral only, requires only that the SKU supports it. + */ + ResourceDisk: "ResourceDisk", +} as const; + +/** + * The ephemeral type of the image. + */ +export type EphemeralType = (typeof EphemeralType)[keyof typeof EphemeralType]; + +export const LogonType = { + /** + * Run as a service. + */ + Service: "Service", + /** + * Run in interactive mode. + */ + Interactive: "Interactive", +} as const; + +/** + * Determines how the service should be run. By default, this will be set to Service. + */ +export type LogonType = (typeof LogonType)[keyof typeof LogonType]; + +export const ManagedServiceIdentityType = { + None: "None", + SystemAssigned: "SystemAssigned", + UserAssigned: "UserAssigned", + SystemAssigned_UserAssigned: "SystemAssigned,UserAssigned", +} as const; + +/** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ +export type ManagedServiceIdentityType = (typeof ManagedServiceIdentityType)[keyof typeof ManagedServiceIdentityType]; + +export const OsDiskStorageAccountType = { + /** + * Standard OS disk type. + */ + Standard: "Standard", + /** + * Premium OS disk type. + */ + Premium: "Premium", + /** + * Standard SSD OS disk type. + */ + StandardSSD: "StandardSSD", +} as const; + +/** + * The Azure SKU name of the machines in the pool. + */ +export type OsDiskStorageAccountType = (typeof OsDiskStorageAccountType)[keyof typeof OsDiskStorageAccountType]; + +export const PredictionPreference = { + /** + * Balance between cost and performance. + */ + Balanced: "Balanced", + /** + * Optimizes for cost over performance. + */ + MostCostEffective: "MostCostEffective", + /** + * Halfway through cost and balanced. + */ + MoreCostEffective: "MoreCostEffective", + /** + * Halfway through balanced and performance. + */ + MorePerformance: "MorePerformance", + /** + * Optimizes for performance over cost. + */ + BestPerformance: "BestPerformance", +} as const; + +/** + * Determines the balance between cost and performance. + */ +export type PredictionPreference = (typeof PredictionPreference)[keyof typeof PredictionPreference]; + +export const ProvisioningState = { + /** + * Represents a succeeded operation. + */ + Succeeded: "Succeeded", + /** + * Represents a failed operation. + */ + Failed: "Failed", + /** + * Represents a canceled operation. + */ + Canceled: "Canceled", + /** + * Represents a pending operation. + */ + Provisioning: "Provisioning", + /** + * Represents a pending operation. + */ + Updating: "Updating", + /** + * Represents an operation under deletion. + */ + Deleting: "Deleting", + /** + * Represents an accepted operation. + */ + Accepted: "Accepted", +} as const; + +/** + * The status of the current operation. + */ +export type ProvisioningState = (typeof ProvisioningState)[keyof typeof ProvisioningState]; + +export const ResourcePredictionsProfileType = { + /** + * Customer provides the stand-by agent scheme. + */ + Manual: "Manual", + /** + * The stand-by agent scheme is determined based on historical demand. + */ + Automatic: "Automatic", +} as const; + +/** + * Determines how the stand-by scheme should be provided. + */ +export type ResourcePredictionsProfileType = (typeof ResourcePredictionsProfileType)[keyof typeof ResourcePredictionsProfileType]; + +export const StorageAccountType = { + /** + * The data disk should use standard locally redundant storage. + */ + StandardLRS: "Standard_LRS", + /** + * The data disk should use premium locally redundant storage. + */ + PremiumLRS: "Premium_LRS", + /** + * The data disk should use standard SSD locally redundant storage. + */ + StandardSSDLRS: "StandardSSD_LRS", + /** + * The data disk should use premium SSD zonal redundant storage. + */ + PremiumZRS: "Premium_ZRS", + /** + * The data disk should use standard SSD zonal redundant storage. + */ + StandardSSDZRS: "StandardSSD_ZRS", +} as const; + +/** + * The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". + */ +export type StorageAccountType = (typeof StorageAccountType)[keyof typeof StorageAccountType]; diff --git a/sdk/nodejs/types/enums/index.ts b/sdk/nodejs/types/enums/index.ts index 55fdfbc825ba..4184b2281a99 100644 --- a/sdk/nodejs/types/enums/index.ts +++ b/sdk/nodejs/types/enums/index.ts @@ -130,6 +130,7 @@ import * as m365securityandcompliance from "./m365securityandcompliance"; import * as machinelearning from "./machinelearning"; import * as machinelearningservices from "./machinelearningservices"; import * as maintenance from "./maintenance"; +import * as managedidentity from "./managedidentity"; import * as managednetwork from "./managednetwork"; import * as managednetworkfabric from "./managednetworkfabric"; import * as managedservices from "./managedservices"; @@ -339,6 +340,7 @@ export { machinelearning, machinelearningservices, maintenance, + managedidentity, managednetwork, managednetworkfabric, managedservices, diff --git a/sdk/nodejs/types/enums/managedidentity/index.ts b/sdk/nodejs/types/enums/managedidentity/index.ts new file mode 100644 index 000000000000..230534ab0948 --- /dev/null +++ b/sdk/nodejs/types/enums/managedidentity/index.ts @@ -0,0 +1,9 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +// Export sub-modules: +import * as v20241130 from "./v20241130"; + +export { + v20241130, +}; diff --git a/sdk/nodejs/types/enums/managedidentity/v20241130/index.ts b/sdk/nodejs/types/enums/managedidentity/v20241130/index.ts new file mode 100644 index 000000000000..a270404291aa --- /dev/null +++ b/sdk/nodejs/types/enums/managedidentity/v20241130/index.ts @@ -0,0 +1,13 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const IsolationScope = { + None: "None", + Regional: "Regional", +} as const; + +/** + * Enum to configure regional restrictions on identity assignment, as necessary. + */ +export type IsolationScope = (typeof IsolationScope)[keyof typeof IsolationScope]; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index f98d5947d6bb..7d09d5f53c33 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -288345,6 +288345,10 @@ export namespace datafactory { * List of tags that can be used for describing the linked service. */ annotations?: pulumi.Input; + /** + * Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + */ + azureCloudType?: any; /** * The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. */ @@ -288357,6 +288361,10 @@ export namespace datafactory { * An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. */ connectionString?: any; + /** + * The credential reference containing authentication information. + */ + credential?: pulumi.Input; /** * Database name for connection. Type: string. */ @@ -288393,10 +288401,34 @@ export namespace datafactory { * Server name for connection. Type: string. */ server?: any; + /** + * The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + */ + servicePrincipalCredentialType?: any; + /** + * Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + */ + servicePrincipalEmbeddedCert?: pulumi.Input; + /** + * Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + */ + servicePrincipalEmbeddedCertPassword?: pulumi.Input; + /** + * The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + */ + servicePrincipalId?: any; + /** + * The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + */ + servicePrincipalKey?: pulumi.Input; /** * SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. */ sslMode?: any; + /** + * The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + */ + tenant?: any; /** * The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. */ @@ -290788,7 +290820,7 @@ export namespace datafactory { /** * Copy activity sink. */ - sink: pulumi.Input; + sink: pulumi.Input; /** * Specify the fault tolerance for data consistency. */ @@ -301116,29 +301148,69 @@ export namespace datafactory { } /** - * Oracle database. + * Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. */ export interface OracleLinkedServiceArgs { /** * List of tags that can be used for describing the linked service. */ annotations?: pulumi.Input; + /** + * Authentication type for connecting to the Oracle database. Only used for Version 2.0. + */ + authenticationType?: pulumi.Input; /** * The integration runtime reference. */ connectVia?: pulumi.Input; /** - * The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + * The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. */ connectionString: any; + /** + * Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + */ + cryptoChecksumClient?: any; + /** + * Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + */ + cryptoChecksumTypesClient?: any; /** * Linked service description. */ description?: pulumi.Input; + /** + * Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + */ + enableBulkLoad?: any; /** * The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. */ encryptedCredential?: pulumi.Input; + /** + * Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + */ + encryptionClient?: any; + /** + * Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + */ + encryptionTypesClient?: any; + /** + * Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + */ + fetchSize?: any; + /** + * Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + */ + fetchTswtzAsTimestamp?: any; + /** + * Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + */ + initialLobFetchSize?: any; + /** + * Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + */ + initializationString?: any; /** * Parameters for linked service. */ @@ -301147,11 +301219,27 @@ export namespace datafactory { * The Azure key vault secret reference of password in connection string. */ password?: pulumi.Input; + /** + * The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + */ + server?: any; + /** + * Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + */ + statementCacheSize?: any; + /** + * Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + */ + supportV1DataTypes?: any; /** * Type of linked service. * Expected value is 'Oracle'. */ type: pulumi.Input<"Oracle">; + /** + * The Oracle database username. Type: string. Only used for Version 2.0. + */ + username?: any; /** * Version of the linked service. */ @@ -309259,6 +309347,21 @@ export namespace datafactory { version?: pulumi.Input; } + /** + * Teradata import command settings. + */ + export interface TeradataImportCommandArgs { + /** + * Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + */ + additionalFormatOptions?: any; + /** + * The import setting type. + * Expected value is 'TeradataImportCommand'. + */ + type: pulumi.Input<"TeradataImportCommand">; + } + /** * Linked service for Teradata data source. */ @@ -309271,12 +309374,16 @@ export namespace datafactory { * AuthenticationType to be used for connection. */ authenticationType?: pulumi.Input; + /** + * The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + */ + characterSet?: any; /** * The integration runtime reference. */ connectVia?: pulumi.Input; /** - * Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + * Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. */ connectionString?: any; /** @@ -309287,6 +309394,14 @@ export namespace datafactory { * The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. */ encryptedCredential?: pulumi.Input; + /** + * The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + */ + httpsPortNumber?: any; + /** + * The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + */ + maxRespSize?: any; /** * Parameters for linked service. */ @@ -309295,15 +309410,27 @@ export namespace datafactory { * Password for authentication. */ password?: pulumi.Input; + /** + * The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + */ + portNumber?: any; /** * Server name for connection. Type: string (or Expression with resultType string). */ server?: any; + /** + * SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + */ + sslMode?: any; /** * Type of linked service. * Expected value is 'Teradata'. */ type: pulumi.Input<"Teradata">; + /** + * Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + */ + useDataEncryption?: any; /** * Username for authentication. Type: string (or Expression with resultType string). */ @@ -309332,6 +309459,45 @@ export namespace datafactory { partitionUpperBound?: any; } + /** + * A copy activity Teradata sink. + */ + export interface TeradataSinkArgs { + /** + * If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + */ + disableMetricsCollection?: any; + /** + * Teradata import settings. + */ + importSettings?: pulumi.Input; + /** + * The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + */ + maxConcurrentConnections?: any; + /** + * Sink retry count. Type: integer (or Expression with resultType integer). + */ + sinkRetryCount?: any; + /** + * Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + */ + sinkRetryWait?: any; + /** + * Copy sink type. + * Expected value is 'TeradataSink'. + */ + type: pulumi.Input<"TeradataSink">; + /** + * Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + */ + writeBatchSize?: any; + /** + * Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + */ + writeBatchTimeout?: any; + } + /** * A copy activity Teradata source. */ @@ -315053,6 +315219,10 @@ export namespace datafactory { * List of tags that can be used for describing the linked service. */ annotations?: pulumi.Input; + /** + * Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + */ + azureCloudType?: any; /** * The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. */ @@ -315065,6 +315235,10 @@ export namespace datafactory { * An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. */ connectionString?: any; + /** + * The credential reference containing authentication information. + */ + credential?: pulumi.Input; /** * Database name for connection. Type: string. */ @@ -315101,10 +315275,34 @@ export namespace datafactory { * Server name for connection. Type: string. */ server?: any; + /** + * The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + */ + servicePrincipalCredentialType?: any; + /** + * Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + */ + servicePrincipalEmbeddedCert?: pulumi.Input; + /** + * Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + */ + servicePrincipalEmbeddedCertPassword?: pulumi.Input; + /** + * The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + */ + servicePrincipalId?: any; + /** + * The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + */ + servicePrincipalKey?: pulumi.Input; /** * SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. */ sslMode?: any; + /** + * The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + */ + tenant?: any; /** * The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. */ @@ -317496,7 +317694,7 @@ export namespace datafactory { /** * Copy activity sink. */ - sink: pulumi.Input; + sink: pulumi.Input; /** * Specify the fault tolerance for data consistency. */ @@ -327824,29 +328022,69 @@ export namespace datafactory { } /** - * Oracle database. + * Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. */ export interface OracleLinkedServiceArgs { /** * List of tags that can be used for describing the linked service. */ annotations?: pulumi.Input; + /** + * Authentication type for connecting to the Oracle database. Only used for Version 2.0. + */ + authenticationType?: pulumi.Input; /** * The integration runtime reference. */ connectVia?: pulumi.Input; /** - * The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + * The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. */ connectionString: any; + /** + * Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + */ + cryptoChecksumClient?: any; + /** + * Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + */ + cryptoChecksumTypesClient?: any; /** * Linked service description. */ description?: pulumi.Input; + /** + * Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + */ + enableBulkLoad?: any; /** * The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. */ encryptedCredential?: pulumi.Input; + /** + * Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + */ + encryptionClient?: any; + /** + * Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + */ + encryptionTypesClient?: any; + /** + * Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + */ + fetchSize?: any; + /** + * Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + */ + fetchTswtzAsTimestamp?: any; + /** + * Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + */ + initialLobFetchSize?: any; + /** + * Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + */ + initializationString?: any; /** * Parameters for linked service. */ @@ -327855,11 +328093,27 @@ export namespace datafactory { * The Azure key vault secret reference of password in connection string. */ password?: pulumi.Input; + /** + * The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + */ + server?: any; + /** + * Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + */ + statementCacheSize?: any; + /** + * Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + */ + supportV1DataTypes?: any; /** * Type of linked service. * Expected value is 'Oracle'. */ type: pulumi.Input<"Oracle">; + /** + * The Oracle database username. Type: string. Only used for Version 2.0. + */ + username?: any; /** * Version of the linked service. */ @@ -335967,6 +336221,21 @@ export namespace datafactory { version?: pulumi.Input; } + /** + * Teradata import command settings. + */ + export interface TeradataImportCommandArgs { + /** + * Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + */ + additionalFormatOptions?: any; + /** + * The import setting type. + * Expected value is 'TeradataImportCommand'. + */ + type: pulumi.Input<"TeradataImportCommand">; + } + /** * Linked service for Teradata data source. */ @@ -335979,12 +336248,16 @@ export namespace datafactory { * AuthenticationType to be used for connection. */ authenticationType?: pulumi.Input; + /** + * The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + */ + characterSet?: any; /** * The integration runtime reference. */ connectVia?: pulumi.Input; /** - * Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + * Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. */ connectionString?: any; /** @@ -335995,6 +336268,14 @@ export namespace datafactory { * The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. */ encryptedCredential?: pulumi.Input; + /** + * The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + */ + httpsPortNumber?: any; + /** + * The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + */ + maxRespSize?: any; /** * Parameters for linked service. */ @@ -336003,15 +336284,27 @@ export namespace datafactory { * Password for authentication. */ password?: pulumi.Input; + /** + * The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + */ + portNumber?: any; /** * Server name for connection. Type: string (or Expression with resultType string). */ server?: any; + /** + * SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + */ + sslMode?: any; /** * Type of linked service. * Expected value is 'Teradata'. */ type: pulumi.Input<"Teradata">; + /** + * Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + */ + useDataEncryption?: any; /** * Username for authentication. Type: string (or Expression with resultType string). */ @@ -336040,6 +336333,45 @@ export namespace datafactory { partitionUpperBound?: any; } + /** + * A copy activity Teradata sink. + */ + export interface TeradataSinkArgs { + /** + * If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + */ + disableMetricsCollection?: any; + /** + * Teradata import settings. + */ + importSettings?: pulumi.Input; + /** + * The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + */ + maxConcurrentConnections?: any; + /** + * Sink retry count. Type: integer (or Expression with resultType integer). + */ + sinkRetryCount?: any; + /** + * Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + */ + sinkRetryWait?: any; + /** + * Copy sink type. + * Expected value is 'TeradataSink'. + */ + type: pulumi.Input<"TeradataSink">; + /** + * Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + */ + writeBatchSize?: any; + /** + * Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + */ + writeBatchTimeout?: any; + } + /** * A copy activity Teradata source. */ @@ -380577,6 +380909,341 @@ export namespace devopsinfrastructure { } } + + export namespace v20250121 { + /** + * The stand-by agent scheme is determined based on historical demand. + */ + export interface AutomaticResourcePredictionsProfileArgs { + /** + * Determines how the stand-by scheme should be provided. + * Expected value is 'Automatic'. + */ + kind: pulumi.Input<"Automatic">; + /** + * Determines the balance between cost and performance. + */ + predictionPreference?: pulumi.Input; + } + + /** + * Azure DevOps organization profile + */ + export interface AzureDevOpsOrganizationProfileArgs { + /** + * Discriminator property for OrganizationProfile. + * Expected value is 'AzureDevOps'. + */ + kind: pulumi.Input<"AzureDevOps">; + /** + * The list of Azure DevOps organizations the pool should be present in. + */ + organizations: pulumi.Input[]>; + /** + * The type of permission which determines which accounts are admins on the Azure DevOps pool. + */ + permissionProfile?: pulumi.Input; + } + + /** + * Defines the type of Azure DevOps pool permission. + */ + export interface AzureDevOpsPermissionProfileArgs { + /** + * Group email addresses + */ + groups?: pulumi.Input[]>; + /** + * Determines who has admin permissions to the Azure DevOps pool. + */ + kind: pulumi.Input; + /** + * User email addresses + */ + users?: pulumi.Input[]>; + } + + /** + * The data disk of the VMSS. + */ + export interface DataDiskArgs { + /** + * The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. + */ + caching?: pulumi.Input; + /** + * The initial disk size in gigabytes. + */ + diskSizeGiB?: pulumi.Input; + /** + * The drive letter for the empty data disk. If not specified, it will be the first available letter. + */ + driveLetter?: pulumi.Input; + /** + * The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". + */ + storageAccountType?: pulumi.Input; + } + + /** + * The Azure SKU of the machines in the pool. + */ + export interface DevOpsAzureSkuArgs { + /** + * The Azure SKU name of the machines in the pool. + */ + name: pulumi.Input; + } + + /** + * Defines a GitHub organization + */ + export interface GitHubOrganizationArgs { + /** + * Optional list of repositories in which the pool should be created. + */ + repositories?: pulumi.Input[]>; + /** + * The GitHub organization URL in which the pool should be created. + */ + url: pulumi.Input; + } + + /** + * GitHub organization profile + */ + export interface GitHubOrganizationProfileArgs { + /** + * Discriminator property for OrganizationProfile. + * Expected value is 'GitHub'. + */ + kind: pulumi.Input<"GitHub">; + /** + * The list of GitHub organizations/repositories the pool should be present in. + */ + organizations: pulumi.Input[]>; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityArgs { + /** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: pulumi.Input; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: pulumi.Input[]>; + } + + /** + * Customer provides the stand-by agent scheme. + */ + export interface ManualResourcePredictionsProfileArgs { + /** + * Determines how the stand-by scheme should be provided. + * Expected value is 'Manual'. + */ + kind: pulumi.Input<"Manual">; + } + + /** + * The network profile of the machines in the pool. + */ + export interface NetworkProfileArgs { + /** + * The subnet id on which to put all machines created in the pool. + */ + subnetId: pulumi.Input; + } + + /** + * Defines an Azure DevOps organization. + */ + export interface OrganizationArgs { + /** + * Determines if the pool should have open access to all projects in this organization. + */ + openAccess?: pulumi.Input; + /** + * How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool. + */ + parallelism?: pulumi.Input; + /** + * Optional list of projects in which the pool should be created. + */ + projects?: pulumi.Input[]>; + /** + * The Azure DevOps organization URL in which the pool should be created. + */ + url: pulumi.Input; + } + + /** + * The OS profile of the machines in the pool. + */ + export interface OsProfileArgs { + /** + * Determines how the service should be run. By default, this will be set to Service. + */ + logonType?: pulumi.Input; + /** + * The secret management settings of the machines in the pool. + */ + secretsManagementSettings?: pulumi.Input; + } + + /** + * The VM image of the machines in the pool. + */ + export interface PoolImageArgs { + /** + * List of aliases to reference the image by. + */ + aliases?: pulumi.Input[]>; + /** + * The percentage of the buffer to be allocated to this image. + */ + buffer?: pulumi.Input; + /** + * The ephemeral type of the image. + */ + ephemeralType?: pulumi.Input; + /** + * The resource id of the image. + */ + resourceId?: pulumi.Input; + /** + * The image to use from a well-known set of images made available to customers. + */ + wellKnownImageName?: pulumi.Input; + } + /** + * poolImageArgsProvideDefaults sets the appropriate defaults for PoolImageArgs + */ + export function poolImageArgsProvideDefaults(val: PoolImageArgs): PoolImageArgs { + return { + ...val, + buffer: (val.buffer) ?? "*", + }; + } + + /** + * The secret management settings of the machines in the pool. + */ + export interface SecretsManagementSettingsArgs { + /** + * Where to store certificates on the machine. + */ + certificateStoreLocation?: pulumi.Input; + /** + * Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported. + */ + certificateStoreName?: pulumi.Input; + /** + * Defines if the key of the certificates should be exportable. + */ + keyExportable: pulumi.Input; + /** + * The list of certificates to install on all machines in the pool. + */ + observedCertificates: pulumi.Input[]>; + } + + /** + * Stateful profile meaning that the machines will be returned to the pool after running a job. + */ + export interface StatefulArgs { + /** + * How long should the machine be kept around after it ran a workload when there are no stand-by agents. The maximum is one week. + */ + gracePeriodTimeSpan?: pulumi.Input; + /** + * Discriminator property for AgentProfile. + * Expected value is 'Stateful'. + */ + kind: pulumi.Input<"Stateful">; + /** + * How long should stateful machines be kept around. The maximum is one week. + */ + maxAgentLifetime?: pulumi.Input; + /** + * Defines pool buffer/stand-by agents. + */ + resourcePredictions?: any; + /** + * Defines how the pool buffer/stand-by agents is provided. + */ + resourcePredictionsProfile?: pulumi.Input; + } + + /** + * Stateless profile meaning that the machines will be cleaned up after running a job. + */ + export interface StatelessAgentProfileArgs { + /** + * Discriminator property for AgentProfile. + * Expected value is 'Stateless'. + */ + kind: pulumi.Input<"Stateless">; + /** + * Defines pool buffer/stand-by agents. + */ + resourcePredictions?: any; + /** + * Defines how the pool buffer/stand-by agents is provided. + */ + resourcePredictionsProfile?: pulumi.Input; + } + + /** + * The storage profile of the VMSS. + */ + export interface StorageProfileArgs { + /** + * A list of empty data disks to attach. + */ + dataDisks?: pulumi.Input[]>; + /** + * The Azure SKU name of the machines in the pool. + */ + osDiskStorageAccountType?: pulumi.Input; + } + + /** + * The agents will run on Virtual Machine Scale Sets. + */ + export interface VmssFabricProfileArgs { + /** + * The VM images of the machines in the pool. + */ + images: pulumi.Input[]>; + /** + * Discriminator property for FabricProfile. + * Expected value is 'Vmss'. + */ + kind: pulumi.Input<"Vmss">; + /** + * The network profile of the machines in the pool. + */ + networkProfile?: pulumi.Input; + /** + * The OS profile of the machines in the pool. + */ + osProfile?: pulumi.Input; + /** + * The Azure SKU of the machines in the pool. + */ + sku: pulumi.Input; + /** + * The storage profile of the machines in the pool. + */ + storageProfile?: pulumi.Input; + } + + } } export namespace devspaces { @@ -600860,6 +601527,9 @@ export namespace managedidentity { export namespace v20230731preview { } + + export namespace v20241130 { + } } export namespace managednetwork { diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index c09da0173229..38e96fca2e5e 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -378633,6 +378633,10 @@ export namespace datafactory { * List of tags that can be used for describing the linked service. */ annotations?: any[]; + /** + * Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + */ + azureCloudType?: any; /** * The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. */ @@ -378645,6 +378649,10 @@ export namespace datafactory { * An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. */ connectionString?: any; + /** + * The credential reference containing authentication information. + */ + credential?: outputs.datafactory.CredentialReferenceResponse; /** * Database name for connection. Type: string. */ @@ -378681,10 +378689,34 @@ export namespace datafactory { * Server name for connection. Type: string. */ server?: any; + /** + * The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + */ + servicePrincipalCredentialType?: any; + /** + * Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + */ + servicePrincipalEmbeddedCert?: outputs.datafactory.AzureKeyVaultSecretReferenceResponse | outputs.datafactory.SecureStringResponse; + /** + * Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + */ + servicePrincipalEmbeddedCertPassword?: outputs.datafactory.AzureKeyVaultSecretReferenceResponse | outputs.datafactory.SecureStringResponse; + /** + * The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + */ + servicePrincipalId?: any; + /** + * The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + */ + servicePrincipalKey?: outputs.datafactory.AzureKeyVaultSecretReferenceResponse | outputs.datafactory.SecureStringResponse; /** * SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. */ sslMode?: any; + /** + * The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + */ + tenant?: any; /** * The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. */ @@ -381120,7 +381152,7 @@ export namespace datafactory { /** * Copy activity sink. */ - sink: outputs.datafactory.AvroSinkResponse | outputs.datafactory.AzureBlobFSSinkResponse | outputs.datafactory.AzureDataExplorerSinkResponse | outputs.datafactory.AzureDataLakeStoreSinkResponse | outputs.datafactory.AzureDatabricksDeltaLakeSinkResponse | outputs.datafactory.AzureMySqlSinkResponse | outputs.datafactory.AzurePostgreSqlSinkResponse | outputs.datafactory.AzureQueueSinkResponse | outputs.datafactory.AzureSearchIndexSinkResponse | outputs.datafactory.AzureSqlSinkResponse | outputs.datafactory.AzureTableSinkResponse | outputs.datafactory.BinarySinkResponse | outputs.datafactory.BlobSinkResponse | outputs.datafactory.CommonDataServiceForAppsSinkResponse | outputs.datafactory.CosmosDbMongoDbApiSinkResponse | outputs.datafactory.CosmosDbSqlApiSinkResponse | outputs.datafactory.DelimitedTextSinkResponse | outputs.datafactory.DocumentDbCollectionSinkResponse | outputs.datafactory.DynamicsCrmSinkResponse | outputs.datafactory.DynamicsSinkResponse | outputs.datafactory.FileSystemSinkResponse | outputs.datafactory.IcebergSinkResponse | outputs.datafactory.InformixSinkResponse | outputs.datafactory.JsonSinkResponse | outputs.datafactory.LakeHouseTableSinkResponse | outputs.datafactory.MicrosoftAccessSinkResponse | outputs.datafactory.MongoDbAtlasSinkResponse | outputs.datafactory.MongoDbV2SinkResponse | outputs.datafactory.OdbcSinkResponse | outputs.datafactory.OracleSinkResponse | outputs.datafactory.OrcSinkResponse | outputs.datafactory.ParquetSinkResponse | outputs.datafactory.RestSinkResponse | outputs.datafactory.SalesforceServiceCloudSinkResponse | outputs.datafactory.SalesforceServiceCloudV2SinkResponse | outputs.datafactory.SalesforceSinkResponse | outputs.datafactory.SalesforceV2SinkResponse | outputs.datafactory.SapCloudForCustomerSinkResponse | outputs.datafactory.SnowflakeSinkResponse | outputs.datafactory.SnowflakeV2SinkResponse | outputs.datafactory.SqlDWSinkResponse | outputs.datafactory.SqlMISinkResponse | outputs.datafactory.SqlServerSinkResponse | outputs.datafactory.SqlSinkResponse | outputs.datafactory.WarehouseSinkResponse; + sink: outputs.datafactory.AvroSinkResponse | outputs.datafactory.AzureBlobFSSinkResponse | outputs.datafactory.AzureDataExplorerSinkResponse | outputs.datafactory.AzureDataLakeStoreSinkResponse | outputs.datafactory.AzureDatabricksDeltaLakeSinkResponse | outputs.datafactory.AzureMySqlSinkResponse | outputs.datafactory.AzurePostgreSqlSinkResponse | outputs.datafactory.AzureQueueSinkResponse | outputs.datafactory.AzureSearchIndexSinkResponse | outputs.datafactory.AzureSqlSinkResponse | outputs.datafactory.AzureTableSinkResponse | outputs.datafactory.BinarySinkResponse | outputs.datafactory.BlobSinkResponse | outputs.datafactory.CommonDataServiceForAppsSinkResponse | outputs.datafactory.CosmosDbMongoDbApiSinkResponse | outputs.datafactory.CosmosDbSqlApiSinkResponse | outputs.datafactory.DelimitedTextSinkResponse | outputs.datafactory.DocumentDbCollectionSinkResponse | outputs.datafactory.DynamicsCrmSinkResponse | outputs.datafactory.DynamicsSinkResponse | outputs.datafactory.FileSystemSinkResponse | outputs.datafactory.IcebergSinkResponse | outputs.datafactory.InformixSinkResponse | outputs.datafactory.JsonSinkResponse | outputs.datafactory.LakeHouseTableSinkResponse | outputs.datafactory.MicrosoftAccessSinkResponse | outputs.datafactory.MongoDbAtlasSinkResponse | outputs.datafactory.MongoDbV2SinkResponse | outputs.datafactory.OdbcSinkResponse | outputs.datafactory.OracleSinkResponse | outputs.datafactory.OrcSinkResponse | outputs.datafactory.ParquetSinkResponse | outputs.datafactory.RestSinkResponse | outputs.datafactory.SalesforceServiceCloudSinkResponse | outputs.datafactory.SalesforceServiceCloudV2SinkResponse | outputs.datafactory.SalesforceSinkResponse | outputs.datafactory.SalesforceV2SinkResponse | outputs.datafactory.SapCloudForCustomerSinkResponse | outputs.datafactory.SnowflakeSinkResponse | outputs.datafactory.SnowflakeV2SinkResponse | outputs.datafactory.SqlDWSinkResponse | outputs.datafactory.SqlMISinkResponse | outputs.datafactory.SqlServerSinkResponse | outputs.datafactory.SqlSinkResponse | outputs.datafactory.TeradataSinkResponse | outputs.datafactory.WarehouseSinkResponse; /** * Specify the fault tolerance for data consistency. */ @@ -391583,29 +391615,69 @@ export namespace datafactory { } /** - * Oracle database. + * Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. */ export interface OracleLinkedServiceResponse { /** * List of tags that can be used for describing the linked service. */ annotations?: any[]; + /** + * Authentication type for connecting to the Oracle database. Only used for Version 2.0. + */ + authenticationType?: string; /** * The integration runtime reference. */ connectVia?: outputs.datafactory.IntegrationRuntimeReferenceResponse; /** - * The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + * The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. */ connectionString: any; + /** + * Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + */ + cryptoChecksumClient?: any; + /** + * Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + */ + cryptoChecksumTypesClient?: any; /** * Linked service description. */ description?: string; + /** + * Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + */ + enableBulkLoad?: any; /** * The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. */ encryptedCredential?: string; + /** + * Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + */ + encryptionClient?: any; + /** + * Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + */ + encryptionTypesClient?: any; + /** + * Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + */ + fetchSize?: any; + /** + * Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + */ + fetchTswtzAsTimestamp?: any; + /** + * Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + */ + initialLobFetchSize?: any; + /** + * Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + */ + initializationString?: any; /** * Parameters for linked service. */ @@ -391614,11 +391686,27 @@ export namespace datafactory { * The Azure key vault secret reference of password in connection string. */ password?: outputs.datafactory.AzureKeyVaultSecretReferenceResponse; + /** + * The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + */ + server?: any; + /** + * Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + */ + statementCacheSize?: any; + /** + * Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + */ + supportV1DataTypes?: any; /** * Type of linked service. * Expected value is 'Oracle'. */ type: "Oracle"; + /** + * The Oracle database username. Type: string. Only used for Version 2.0. + */ + username?: any; /** * Version of the linked service. */ @@ -400132,6 +400220,21 @@ export namespace datafactory { version?: string; } + /** + * Teradata import command settings. + */ + export interface TeradataImportCommandResponse { + /** + * Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + */ + additionalFormatOptions?: any; + /** + * The import setting type. + * Expected value is 'TeradataImportCommand'. + */ + type: "TeradataImportCommand"; + } + /** * Linked service for Teradata data source. */ @@ -400144,12 +400247,16 @@ export namespace datafactory { * AuthenticationType to be used for connection. */ authenticationType?: string; + /** + * The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + */ + characterSet?: any; /** * The integration runtime reference. */ connectVia?: outputs.datafactory.IntegrationRuntimeReferenceResponse; /** - * Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + * Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. */ connectionString?: any; /** @@ -400160,6 +400267,14 @@ export namespace datafactory { * The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. */ encryptedCredential?: string; + /** + * The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + */ + httpsPortNumber?: any; + /** + * The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + */ + maxRespSize?: any; /** * Parameters for linked service. */ @@ -400168,15 +400283,27 @@ export namespace datafactory { * Password for authentication. */ password?: outputs.datafactory.AzureKeyVaultSecretReferenceResponse | outputs.datafactory.SecureStringResponse; + /** + * The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + */ + portNumber?: any; /** * Server name for connection. Type: string (or Expression with resultType string). */ server?: any; + /** + * SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + */ + sslMode?: any; /** * Type of linked service. * Expected value is 'Teradata'. */ type: "Teradata"; + /** + * Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + */ + useDataEncryption?: any; /** * Username for authentication. Type: string (or Expression with resultType string). */ @@ -400205,6 +400332,45 @@ export namespace datafactory { partitionUpperBound?: any; } + /** + * A copy activity Teradata sink. + */ + export interface TeradataSinkResponse { + /** + * If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + */ + disableMetricsCollection?: any; + /** + * Teradata import settings. + */ + importSettings?: outputs.datafactory.TeradataImportCommandResponse; + /** + * The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + */ + maxConcurrentConnections?: any; + /** + * Sink retry count. Type: integer (or Expression with resultType integer). + */ + sinkRetryCount?: any; + /** + * Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + */ + sinkRetryWait?: any; + /** + * Copy sink type. + * Expected value is 'TeradataSink'. + */ + type: "TeradataSink"; + /** + * Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + */ + writeBatchSize?: any; + /** + * Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + */ + writeBatchTimeout?: any; + } + /** * A copy activity Teradata source. */ @@ -405963,6 +406129,10 @@ export namespace datafactory { * List of tags that can be used for describing the linked service. */ annotations?: any[]; + /** + * Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + */ + azureCloudType?: any; /** * The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. */ @@ -405975,6 +406145,10 @@ export namespace datafactory { * An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. */ connectionString?: any; + /** + * The credential reference containing authentication information. + */ + credential?: outputs.datafactory.v20180601.CredentialReferenceResponse; /** * Database name for connection. Type: string. */ @@ -406011,10 +406185,34 @@ export namespace datafactory { * Server name for connection. Type: string. */ server?: any; + /** + * The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + */ + servicePrincipalCredentialType?: any; + /** + * Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + */ + servicePrincipalEmbeddedCert?: outputs.datafactory.v20180601.AzureKeyVaultSecretReferenceResponse | outputs.datafactory.v20180601.SecureStringResponse; + /** + * Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + */ + servicePrincipalEmbeddedCertPassword?: outputs.datafactory.v20180601.AzureKeyVaultSecretReferenceResponse | outputs.datafactory.v20180601.SecureStringResponse; + /** + * The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + */ + servicePrincipalId?: any; + /** + * The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + */ + servicePrincipalKey?: outputs.datafactory.v20180601.AzureKeyVaultSecretReferenceResponse | outputs.datafactory.v20180601.SecureStringResponse; /** * SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. */ sslMode?: any; + /** + * The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + */ + tenant?: any; /** * The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. */ @@ -408450,7 +408648,7 @@ export namespace datafactory { /** * Copy activity sink. */ - sink: outputs.datafactory.v20180601.AvroSinkResponse | outputs.datafactory.v20180601.AzureBlobFSSinkResponse | outputs.datafactory.v20180601.AzureDataExplorerSinkResponse | outputs.datafactory.v20180601.AzureDataLakeStoreSinkResponse | outputs.datafactory.v20180601.AzureDatabricksDeltaLakeSinkResponse | outputs.datafactory.v20180601.AzureMySqlSinkResponse | outputs.datafactory.v20180601.AzurePostgreSqlSinkResponse | outputs.datafactory.v20180601.AzureQueueSinkResponse | outputs.datafactory.v20180601.AzureSearchIndexSinkResponse | outputs.datafactory.v20180601.AzureSqlSinkResponse | outputs.datafactory.v20180601.AzureTableSinkResponse | outputs.datafactory.v20180601.BinarySinkResponse | outputs.datafactory.v20180601.BlobSinkResponse | outputs.datafactory.v20180601.CommonDataServiceForAppsSinkResponse | outputs.datafactory.v20180601.CosmosDbMongoDbApiSinkResponse | outputs.datafactory.v20180601.CosmosDbSqlApiSinkResponse | outputs.datafactory.v20180601.DelimitedTextSinkResponse | outputs.datafactory.v20180601.DocumentDbCollectionSinkResponse | outputs.datafactory.v20180601.DynamicsCrmSinkResponse | outputs.datafactory.v20180601.DynamicsSinkResponse | outputs.datafactory.v20180601.FileSystemSinkResponse | outputs.datafactory.v20180601.IcebergSinkResponse | outputs.datafactory.v20180601.InformixSinkResponse | outputs.datafactory.v20180601.JsonSinkResponse | outputs.datafactory.v20180601.LakeHouseTableSinkResponse | outputs.datafactory.v20180601.MicrosoftAccessSinkResponse | outputs.datafactory.v20180601.MongoDbAtlasSinkResponse | outputs.datafactory.v20180601.MongoDbV2SinkResponse | outputs.datafactory.v20180601.OdbcSinkResponse | outputs.datafactory.v20180601.OracleSinkResponse | outputs.datafactory.v20180601.OrcSinkResponse | outputs.datafactory.v20180601.ParquetSinkResponse | outputs.datafactory.v20180601.RestSinkResponse | outputs.datafactory.v20180601.SalesforceServiceCloudSinkResponse | outputs.datafactory.v20180601.SalesforceServiceCloudV2SinkResponse | outputs.datafactory.v20180601.SalesforceSinkResponse | outputs.datafactory.v20180601.SalesforceV2SinkResponse | outputs.datafactory.v20180601.SapCloudForCustomerSinkResponse | outputs.datafactory.v20180601.SnowflakeSinkResponse | outputs.datafactory.v20180601.SnowflakeV2SinkResponse | outputs.datafactory.v20180601.SqlDWSinkResponse | outputs.datafactory.v20180601.SqlMISinkResponse | outputs.datafactory.v20180601.SqlServerSinkResponse | outputs.datafactory.v20180601.SqlSinkResponse | outputs.datafactory.v20180601.WarehouseSinkResponse; + sink: outputs.datafactory.v20180601.AvroSinkResponse | outputs.datafactory.v20180601.AzureBlobFSSinkResponse | outputs.datafactory.v20180601.AzureDataExplorerSinkResponse | outputs.datafactory.v20180601.AzureDataLakeStoreSinkResponse | outputs.datafactory.v20180601.AzureDatabricksDeltaLakeSinkResponse | outputs.datafactory.v20180601.AzureMySqlSinkResponse | outputs.datafactory.v20180601.AzurePostgreSqlSinkResponse | outputs.datafactory.v20180601.AzureQueueSinkResponse | outputs.datafactory.v20180601.AzureSearchIndexSinkResponse | outputs.datafactory.v20180601.AzureSqlSinkResponse | outputs.datafactory.v20180601.AzureTableSinkResponse | outputs.datafactory.v20180601.BinarySinkResponse | outputs.datafactory.v20180601.BlobSinkResponse | outputs.datafactory.v20180601.CommonDataServiceForAppsSinkResponse | outputs.datafactory.v20180601.CosmosDbMongoDbApiSinkResponse | outputs.datafactory.v20180601.CosmosDbSqlApiSinkResponse | outputs.datafactory.v20180601.DelimitedTextSinkResponse | outputs.datafactory.v20180601.DocumentDbCollectionSinkResponse | outputs.datafactory.v20180601.DynamicsCrmSinkResponse | outputs.datafactory.v20180601.DynamicsSinkResponse | outputs.datafactory.v20180601.FileSystemSinkResponse | outputs.datafactory.v20180601.IcebergSinkResponse | outputs.datafactory.v20180601.InformixSinkResponse | outputs.datafactory.v20180601.JsonSinkResponse | outputs.datafactory.v20180601.LakeHouseTableSinkResponse | outputs.datafactory.v20180601.MicrosoftAccessSinkResponse | outputs.datafactory.v20180601.MongoDbAtlasSinkResponse | outputs.datafactory.v20180601.MongoDbV2SinkResponse | outputs.datafactory.v20180601.OdbcSinkResponse | outputs.datafactory.v20180601.OracleSinkResponse | outputs.datafactory.v20180601.OrcSinkResponse | outputs.datafactory.v20180601.ParquetSinkResponse | outputs.datafactory.v20180601.RestSinkResponse | outputs.datafactory.v20180601.SalesforceServiceCloudSinkResponse | outputs.datafactory.v20180601.SalesforceServiceCloudV2SinkResponse | outputs.datafactory.v20180601.SalesforceSinkResponse | outputs.datafactory.v20180601.SalesforceV2SinkResponse | outputs.datafactory.v20180601.SapCloudForCustomerSinkResponse | outputs.datafactory.v20180601.SnowflakeSinkResponse | outputs.datafactory.v20180601.SnowflakeV2SinkResponse | outputs.datafactory.v20180601.SqlDWSinkResponse | outputs.datafactory.v20180601.SqlMISinkResponse | outputs.datafactory.v20180601.SqlServerSinkResponse | outputs.datafactory.v20180601.SqlSinkResponse | outputs.datafactory.v20180601.TeradataSinkResponse | outputs.datafactory.v20180601.WarehouseSinkResponse; /** * Specify the fault tolerance for data consistency. */ @@ -418913,29 +419111,69 @@ export namespace datafactory { } /** - * Oracle database. + * Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. */ export interface OracleLinkedServiceResponse { /** * List of tags that can be used for describing the linked service. */ annotations?: any[]; + /** + * Authentication type for connecting to the Oracle database. Only used for Version 2.0. + */ + authenticationType?: string; /** * The integration runtime reference. */ connectVia?: outputs.datafactory.v20180601.IntegrationRuntimeReferenceResponse; /** - * The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + * The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. */ connectionString: any; + /** + * Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + */ + cryptoChecksumClient?: any; + /** + * Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + */ + cryptoChecksumTypesClient?: any; /** * Linked service description. */ description?: string; + /** + * Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + */ + enableBulkLoad?: any; /** * The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. */ encryptedCredential?: string; + /** + * Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + */ + encryptionClient?: any; + /** + * Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + */ + encryptionTypesClient?: any; + /** + * Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + */ + fetchSize?: any; + /** + * Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + */ + fetchTswtzAsTimestamp?: any; + /** + * Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + */ + initialLobFetchSize?: any; + /** + * Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + */ + initializationString?: any; /** * Parameters for linked service. */ @@ -418944,11 +419182,27 @@ export namespace datafactory { * The Azure key vault secret reference of password in connection string. */ password?: outputs.datafactory.v20180601.AzureKeyVaultSecretReferenceResponse; + /** + * The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + */ + server?: any; + /** + * Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + */ + statementCacheSize?: any; + /** + * Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + */ + supportV1DataTypes?: any; /** * Type of linked service. * Expected value is 'Oracle'. */ type: "Oracle"; + /** + * The Oracle database username. Type: string. Only used for Version 2.0. + */ + username?: any; /** * Version of the linked service. */ @@ -427462,6 +427716,21 @@ export namespace datafactory { version?: string; } + /** + * Teradata import command settings. + */ + export interface TeradataImportCommandResponse { + /** + * Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + */ + additionalFormatOptions?: any; + /** + * The import setting type. + * Expected value is 'TeradataImportCommand'. + */ + type: "TeradataImportCommand"; + } + /** * Linked service for Teradata data source. */ @@ -427474,12 +427743,16 @@ export namespace datafactory { * AuthenticationType to be used for connection. */ authenticationType?: string; + /** + * The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + */ + characterSet?: any; /** * The integration runtime reference. */ connectVia?: outputs.datafactory.v20180601.IntegrationRuntimeReferenceResponse; /** - * Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + * Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. */ connectionString?: any; /** @@ -427490,6 +427763,14 @@ export namespace datafactory { * The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. */ encryptedCredential?: string; + /** + * The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + */ + httpsPortNumber?: any; + /** + * The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + */ + maxRespSize?: any; /** * Parameters for linked service. */ @@ -427498,15 +427779,27 @@ export namespace datafactory { * Password for authentication. */ password?: outputs.datafactory.v20180601.AzureKeyVaultSecretReferenceResponse | outputs.datafactory.v20180601.SecureStringResponse; + /** + * The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + */ + portNumber?: any; /** * Server name for connection. Type: string (or Expression with resultType string). */ server?: any; + /** + * SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + */ + sslMode?: any; /** * Type of linked service. * Expected value is 'Teradata'. */ type: "Teradata"; + /** + * Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + */ + useDataEncryption?: any; /** * Username for authentication. Type: string (or Expression with resultType string). */ @@ -427535,6 +427828,45 @@ export namespace datafactory { partitionUpperBound?: any; } + /** + * A copy activity Teradata sink. + */ + export interface TeradataSinkResponse { + /** + * If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + */ + disableMetricsCollection?: any; + /** + * Teradata import settings. + */ + importSettings?: outputs.datafactory.v20180601.TeradataImportCommandResponse; + /** + * The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + */ + maxConcurrentConnections?: any; + /** + * Sink retry count. Type: integer (or Expression with resultType integer). + */ + sinkRetryCount?: any; + /** + * Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + */ + sinkRetryWait?: any; + /** + * Copy sink type. + * Expected value is 'TeradataSink'. + */ + type: "TeradataSink"; + /** + * Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + */ + writeBatchSize?: any; + /** + * Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + */ + writeBatchTimeout?: any; + } + /** * A copy activity Teradata source. */ @@ -502673,6 +503005,393 @@ export namespace devopsinfrastructure { } } + + export namespace v20250121 { + /** + * The stand-by agent scheme is determined based on historical demand. + */ + export interface AutomaticResourcePredictionsProfileResponse { + /** + * Determines how the stand-by scheme should be provided. + * Expected value is 'Automatic'. + */ + kind: "Automatic"; + /** + * Determines the balance between cost and performance. + */ + predictionPreference?: string; + } + + /** + * Azure DevOps organization profile + */ + export interface AzureDevOpsOrganizationProfileResponse { + /** + * Discriminator property for OrganizationProfile. + * Expected value is 'AzureDevOps'. + */ + kind: "AzureDevOps"; + /** + * The list of Azure DevOps organizations the pool should be present in. + */ + organizations: outputs.devopsinfrastructure.v20250121.OrganizationResponse[]; + /** + * The type of permission which determines which accounts are admins on the Azure DevOps pool. + */ + permissionProfile?: outputs.devopsinfrastructure.v20250121.AzureDevOpsPermissionProfileResponse; + } + + /** + * Defines the type of Azure DevOps pool permission. + */ + export interface AzureDevOpsPermissionProfileResponse { + /** + * Group email addresses + */ + groups?: string[]; + /** + * Determines who has admin permissions to the Azure DevOps pool. + */ + kind: string; + /** + * User email addresses + */ + users?: string[]; + } + + /** + * The data disk of the VMSS. + */ + export interface DataDiskResponse { + /** + * The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. + */ + caching?: string; + /** + * The initial disk size in gigabytes. + */ + diskSizeGiB?: number; + /** + * The drive letter for the empty data disk. If not specified, it will be the first available letter. + */ + driveLetter?: string; + /** + * The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". + */ + storageAccountType?: string; + } + + /** + * The Azure SKU of the machines in the pool. + */ + export interface DevOpsAzureSkuResponse { + /** + * The Azure SKU name of the machines in the pool. + */ + name: string; + } + + /** + * GitHub organization profile + */ + export interface GitHubOrganizationProfileResponse { + /** + * Discriminator property for OrganizationProfile. + * Expected value is 'GitHub'. + */ + kind: "GitHub"; + /** + * The list of GitHub organizations/repositories the pool should be present in. + */ + organizations: outputs.devopsinfrastructure.v20250121.GitHubOrganizationResponse[]; + } + + /** + * Defines a GitHub organization + */ + export interface GitHubOrganizationResponse { + /** + * Optional list of repositories in which the pool should be created. + */ + repositories?: string[]; + /** + * The GitHub organization URL in which the pool should be created. + */ + url: string; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityResponse { + /** + * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + principalId: string; + /** + * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + tenantId: string; + /** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: string; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: {[key: string]: outputs.devopsinfrastructure.v20250121.UserAssignedIdentityResponse}; + } + + /** + * Customer provides the stand-by agent scheme. + */ + export interface ManualResourcePredictionsProfileResponse { + /** + * Determines how the stand-by scheme should be provided. + * Expected value is 'Manual'. + */ + kind: "Manual"; + } + + /** + * The network profile of the machines in the pool. + */ + export interface NetworkProfileResponse { + /** + * The subnet id on which to put all machines created in the pool. + */ + subnetId: string; + } + + /** + * Defines an Azure DevOps organization. + */ + export interface OrganizationResponse { + /** + * Determines if the pool should have open access to all projects in this organization. + */ + openAccess?: boolean; + /** + * How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool. + */ + parallelism?: number; + /** + * Optional list of projects in which the pool should be created. + */ + projects?: string[]; + /** + * The Azure DevOps organization URL in which the pool should be created. + */ + url: string; + } + + /** + * The OS profile of the machines in the pool. + */ + export interface OsProfileResponse { + /** + * Determines how the service should be run. By default, this will be set to Service. + */ + logonType?: string; + /** + * The secret management settings of the machines in the pool. + */ + secretsManagementSettings?: outputs.devopsinfrastructure.v20250121.SecretsManagementSettingsResponse; + } + + /** + * The VM image of the machines in the pool. + */ + export interface PoolImageResponse { + /** + * List of aliases to reference the image by. + */ + aliases?: string[]; + /** + * The percentage of the buffer to be allocated to this image. + */ + buffer?: string; + /** + * The ephemeral type of the image. + */ + ephemeralType?: string; + /** + * The resource id of the image. + */ + resourceId?: string; + /** + * The image to use from a well-known set of images made available to customers. + */ + wellKnownImageName?: string; + } + /** + * poolImageResponseProvideDefaults sets the appropriate defaults for PoolImageResponse + */ + export function poolImageResponseProvideDefaults(val: PoolImageResponse): PoolImageResponse { + return { + ...val, + buffer: (val.buffer) ?? "*", + }; + } + + /** + * The secret management settings of the machines in the pool. + */ + export interface SecretsManagementSettingsResponse { + /** + * Where to store certificates on the machine. + */ + certificateStoreLocation?: string; + /** + * Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported. + */ + certificateStoreName?: string; + /** + * Defines if the key of the certificates should be exportable. + */ + keyExportable: boolean; + /** + * The list of certificates to install on all machines in the pool. + */ + observedCertificates: string[]; + } + + /** + * Stateful profile meaning that the machines will be returned to the pool after running a job. + */ + export interface StatefulResponse { + /** + * How long should the machine be kept around after it ran a workload when there are no stand-by agents. The maximum is one week. + */ + gracePeriodTimeSpan?: string; + /** + * Discriminator property for AgentProfile. + * Expected value is 'Stateful'. + */ + kind: "Stateful"; + /** + * How long should stateful machines be kept around. The maximum is one week. + */ + maxAgentLifetime?: string; + /** + * Defines pool buffer/stand-by agents. + */ + resourcePredictions?: any; + /** + * Defines how the pool buffer/stand-by agents is provided. + */ + resourcePredictionsProfile?: outputs.devopsinfrastructure.v20250121.AutomaticResourcePredictionsProfileResponse | outputs.devopsinfrastructure.v20250121.ManualResourcePredictionsProfileResponse; + } + + /** + * Stateless profile meaning that the machines will be cleaned up after running a job. + */ + export interface StatelessAgentProfileResponse { + /** + * Discriminator property for AgentProfile. + * Expected value is 'Stateless'. + */ + kind: "Stateless"; + /** + * Defines pool buffer/stand-by agents. + */ + resourcePredictions?: any; + /** + * Defines how the pool buffer/stand-by agents is provided. + */ + resourcePredictionsProfile?: outputs.devopsinfrastructure.v20250121.AutomaticResourcePredictionsProfileResponse | outputs.devopsinfrastructure.v20250121.ManualResourcePredictionsProfileResponse; + } + + /** + * The storage profile of the VMSS. + */ + export interface StorageProfileResponse { + /** + * A list of empty data disks to attach. + */ + dataDisks?: outputs.devopsinfrastructure.v20250121.DataDiskResponse[]; + /** + * The Azure SKU name of the machines in the pool. + */ + osDiskStorageAccountType?: string; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + /** + * User assigned identity properties + */ + export interface UserAssignedIdentityResponse { + /** + * The client ID of the assigned identity. + */ + clientId: string; + /** + * The principal ID of the assigned identity. + */ + principalId: string; + } + + /** + * The agents will run on Virtual Machine Scale Sets. + */ + export interface VmssFabricProfileResponse { + /** + * The VM images of the machines in the pool. + */ + images: outputs.devopsinfrastructure.v20250121.PoolImageResponse[]; + /** + * Discriminator property for FabricProfile. + * Expected value is 'Vmss'. + */ + kind: "Vmss"; + /** + * The network profile of the machines in the pool. + */ + networkProfile?: outputs.devopsinfrastructure.v20250121.NetworkProfileResponse; + /** + * The OS profile of the machines in the pool. + */ + osProfile?: outputs.devopsinfrastructure.v20250121.OsProfileResponse; + /** + * The Azure SKU of the machines in the pool. + */ + sku: outputs.devopsinfrastructure.v20250121.DevOpsAzureSkuResponse; + /** + * The storage profile of the machines in the pool. + */ + storageProfile?: outputs.devopsinfrastructure.v20250121.StorageProfileResponse; + } + + } } export namespace devspaces { @@ -779149,6 +779868,39 @@ export namespace managedidentity { } } + + export namespace v20241130 { + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + } } export namespace managednetwork { diff --git a/sdk/python/pulumi_azure_native/__init__.py b/sdk/python/pulumi_azure_native/__init__.py index 2c16102d5cbb..91b4f697e85a 100644 --- a/sdk/python/pulumi_azure_native/__init__.py +++ b/sdk/python/pulumi_azure_native/__init__.py @@ -8914,6 +8914,14 @@ "azure-native:devopsinfrastructure/v20241019:Pool": "Pool" } }, + { + "pkg": "azure-native", + "mod": "devopsinfrastructure/v20250121", + "fqn": "pulumi_azure_native.devopsinfrastructure.v20250121", + "classes": { + "azure-native:devopsinfrastructure/v20250121:Pool": "Pool" + } + }, { "pkg": "azure-native", "mod": "devspaces", @@ -13150,6 +13158,15 @@ "azure-native:managedidentity/v20230731preview:UserAssignedIdentity": "UserAssignedIdentity" } }, + { + "pkg": "azure-native", + "mod": "managedidentity/v20241130", + "fqn": "pulumi_azure_native.managedidentity.v20241130", + "classes": { + "azure-native:managedidentity/v20241130:FederatedIdentityCredential": "FederatedIdentityCredential", + "azure-native:managedidentity/v20241130:UserAssignedIdentity": "UserAssignedIdentity" + } + }, { "pkg": "azure-native", "mod": "managednetwork", diff --git a/sdk/python/pulumi_azure_native/datafactory/_enums.py b/sdk/python/pulumi_azure_native/datafactory/_enums.py index 4ef238668cfe..88abb92fd949 100644 --- a/sdk/python/pulumi_azure_native/datafactory/_enums.py +++ b/sdk/python/pulumi_azure_native/datafactory/_enums.py @@ -56,6 +56,7 @@ 'NotebookReferenceType', 'ODataAadServicePrincipalCredentialType', 'ODataAuthenticationType', + 'OracleAuthenticationType', 'ParameterType', 'PhoenixAuthenticationType', 'PolybaseSettingsRejectType', @@ -550,6 +551,13 @@ class ODataAuthenticationType(str, Enum): MANAGED_SERVICE_IDENTITY = "ManagedServiceIdentity" +class OracleAuthenticationType(str, Enum): + """ + Authentication type for connecting to the Oracle database. Only used for Version 2.0. + """ + BASIC = "Basic" + + class ParameterType(str, Enum): """ Parameter type. diff --git a/sdk/python/pulumi_azure_native/datafactory/_inputs.py b/sdk/python/pulumi_azure_native/datafactory/_inputs.py index 0ecfa9871edc..8d801dae4b37 100644 --- a/sdk/python/pulumi_azure_native/datafactory/_inputs.py +++ b/sdk/python/pulumi_azure_native/datafactory/_inputs.py @@ -1174,10 +1174,14 @@ 'TarReadSettingsArgsDict', 'TeamDeskLinkedServiceArgs', 'TeamDeskLinkedServiceArgsDict', + 'TeradataImportCommandArgs', + 'TeradataImportCommandArgsDict', 'TeradataLinkedServiceArgs', 'TeradataLinkedServiceArgsDict', 'TeradataPartitionSettingsArgs', 'TeradataPartitionSettingsArgsDict', + 'TeradataSinkArgs', + 'TeradataSinkArgsDict', 'TeradataSourceArgs', 'TeradataSourceArgsDict', 'TeradataTableDatasetArgs', @@ -19592,6 +19596,10 @@ class AzurePostgreSqlLinkedServiceArgsDict(TypedDict): """ List of tags that can be used for describing the linked service. """ + azure_cloud_type: NotRequired[Any] + """ + Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + """ command_timeout: NotRequired[Any] """ The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. @@ -19604,6 +19612,10 @@ class AzurePostgreSqlLinkedServiceArgsDict(TypedDict): """ An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. """ + credential: NotRequired[pulumi.Input['CredentialReferenceArgsDict']] + """ + The credential reference containing authentication information. + """ database: NotRequired[Any] """ Database name for connection. Type: string. @@ -19640,10 +19652,34 @@ class AzurePostgreSqlLinkedServiceArgsDict(TypedDict): """ Server name for connection. Type: string. """ + service_principal_credential_type: NotRequired[Any] + """ + The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + """ + service_principal_embedded_cert: NotRequired[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgsDict', 'SecureStringArgsDict']]] + """ + Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + """ + service_principal_embedded_cert_password: NotRequired[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgsDict', 'SecureStringArgsDict']]] + """ + Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + """ + service_principal_id: NotRequired[Any] + """ + The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + """ + service_principal_key: NotRequired[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgsDict', 'SecureStringArgsDict']]] + """ + The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + """ ssl_mode: NotRequired[Any] """ SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. """ + tenant: NotRequired[Any] + """ + The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + """ timeout: NotRequired[Any] """ The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. @@ -19672,9 +19708,11 @@ class AzurePostgreSqlLinkedServiceArgs: def __init__(__self__, *, type: pulumi.Input[str], annotations: Optional[pulumi.Input[Sequence[Any]]] = None, + azure_cloud_type: Optional[Any] = None, command_timeout: Optional[Any] = None, connect_via: Optional[pulumi.Input['IntegrationRuntimeReferenceArgs']] = None, connection_string: Optional[Any] = None, + credential: Optional[pulumi.Input['CredentialReferenceArgs']] = None, database: Optional[Any] = None, description: Optional[pulumi.Input[str]] = None, encoding: Optional[Any] = None, @@ -19684,7 +19722,13 @@ def __init__(__self__, *, port: Optional[Any] = None, read_buffer_size: Optional[Any] = None, server: Optional[Any] = None, + service_principal_credential_type: Optional[Any] = None, + service_principal_embedded_cert: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]] = None, + service_principal_embedded_cert_password: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]] = None, + service_principal_id: Optional[Any] = None, + service_principal_key: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]] = None, ssl_mode: Optional[Any] = None, + tenant: Optional[Any] = None, timeout: Optional[Any] = None, timezone: Optional[Any] = None, trust_server_certificate: Optional[Any] = None, @@ -19695,9 +19739,11 @@ def __init__(__self__, *, :param pulumi.Input[str] type: Type of linked service. Expected value is 'AzurePostgreSql'. :param pulumi.Input[Sequence[Any]] annotations: List of tags that can be used for describing the linked service. + :param Any azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). :param Any command_timeout: The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. :param pulumi.Input['IntegrationRuntimeReferenceArgs'] connect_via: The integration runtime reference. :param Any connection_string: An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + :param pulumi.Input['CredentialReferenceArgs'] credential: The credential reference containing authentication information. :param Any database: Database name for connection. Type: string. :param pulumi.Input[str] description: Linked service description. :param Any encoding: Gets or sets the .NET encoding that will be used to encode/decode PostgreSQL string data. Type: string @@ -19707,7 +19753,13 @@ def __init__(__self__, *, :param Any port: The port for the connection. Type: integer. :param Any read_buffer_size: Determines the size of the internal buffer uses when reading. Increasing may improve performance if transferring large values from the database. Type: integer. :param Any server: Server name for connection. Type: string. + :param Any service_principal_credential_type: The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + :param pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']] service_principal_embedded_cert: Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + :param pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']] service_principal_embedded_cert_password: Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + :param Any service_principal_id: The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + :param pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']] service_principal_key: The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. :param Any ssl_mode: SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. + :param Any tenant: The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). :param Any timeout: The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. :param Any timezone: Gets or sets the session timezone. Type: string. :param Any trust_server_certificate: Whether to trust the server certificate without validating it. Type: boolean. @@ -19717,12 +19769,16 @@ def __init__(__self__, *, pulumi.set(__self__, "type", 'AzurePostgreSql') if annotations is not None: pulumi.set(__self__, "annotations", annotations) + if azure_cloud_type is not None: + pulumi.set(__self__, "azure_cloud_type", azure_cloud_type) if command_timeout is not None: pulumi.set(__self__, "command_timeout", command_timeout) if connect_via is not None: pulumi.set(__self__, "connect_via", connect_via) if connection_string is not None: pulumi.set(__self__, "connection_string", connection_string) + if credential is not None: + pulumi.set(__self__, "credential", credential) if database is not None: pulumi.set(__self__, "database", database) if description is not None: @@ -19741,8 +19797,20 @@ def __init__(__self__, *, pulumi.set(__self__, "read_buffer_size", read_buffer_size) if server is not None: pulumi.set(__self__, "server", server) + if service_principal_credential_type is not None: + pulumi.set(__self__, "service_principal_credential_type", service_principal_credential_type) + if service_principal_embedded_cert is not None: + pulumi.set(__self__, "service_principal_embedded_cert", service_principal_embedded_cert) + if service_principal_embedded_cert_password is not None: + pulumi.set(__self__, "service_principal_embedded_cert_password", service_principal_embedded_cert_password) + if service_principal_id is not None: + pulumi.set(__self__, "service_principal_id", service_principal_id) + if service_principal_key is not None: + pulumi.set(__self__, "service_principal_key", service_principal_key) if ssl_mode is not None: pulumi.set(__self__, "ssl_mode", ssl_mode) + if tenant is not None: + pulumi.set(__self__, "tenant", tenant) if timeout is not None: pulumi.set(__self__, "timeout", timeout) if timezone is not None: @@ -19779,6 +19847,18 @@ def annotations(self) -> Optional[pulumi.Input[Sequence[Any]]]: def annotations(self, value: Optional[pulumi.Input[Sequence[Any]]]): pulumi.set(self, "annotations", value) + @property + @pulumi.getter(name="azureCloudType") + def azure_cloud_type(self) -> Optional[Any]: + """ + Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "azure_cloud_type") + + @azure_cloud_type.setter + def azure_cloud_type(self, value: Optional[Any]): + pulumi.set(self, "azure_cloud_type", value) + @property @pulumi.getter(name="commandTimeout") def command_timeout(self) -> Optional[Any]: @@ -19815,6 +19895,18 @@ def connection_string(self) -> Optional[Any]: def connection_string(self, value: Optional[Any]): pulumi.set(self, "connection_string", value) + @property + @pulumi.getter + def credential(self) -> Optional[pulumi.Input['CredentialReferenceArgs']]: + """ + The credential reference containing authentication information. + """ + return pulumi.get(self, "credential") + + @credential.setter + def credential(self, value: Optional[pulumi.Input['CredentialReferenceArgs']]): + pulumi.set(self, "credential", value) + @property @pulumi.getter def database(self) -> Optional[Any]: @@ -19923,6 +20015,66 @@ def server(self) -> Optional[Any]: def server(self, value: Optional[Any]): pulumi.set(self, "server", value) + @property + @pulumi.getter(name="servicePrincipalCredentialType") + def service_principal_credential_type(self) -> Optional[Any]: + """ + The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_credential_type") + + @service_principal_credential_type.setter + def service_principal_credential_type(self, value: Optional[Any]): + pulumi.set(self, "service_principal_credential_type", value) + + @property + @pulumi.getter(name="servicePrincipalEmbeddedCert") + def service_principal_embedded_cert(self) -> Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]: + """ + Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_embedded_cert") + + @service_principal_embedded_cert.setter + def service_principal_embedded_cert(self, value: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]): + pulumi.set(self, "service_principal_embedded_cert", value) + + @property + @pulumi.getter(name="servicePrincipalEmbeddedCertPassword") + def service_principal_embedded_cert_password(self) -> Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]: + """ + Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_embedded_cert_password") + + @service_principal_embedded_cert_password.setter + def service_principal_embedded_cert_password(self, value: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]): + pulumi.set(self, "service_principal_embedded_cert_password", value) + + @property + @pulumi.getter(name="servicePrincipalId") + def service_principal_id(self) -> Optional[Any]: + """ + The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_id") + + @service_principal_id.setter + def service_principal_id(self, value: Optional[Any]): + pulumi.set(self, "service_principal_id", value) + + @property + @pulumi.getter(name="servicePrincipalKey") + def service_principal_key(self) -> Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]: + """ + The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + """ + return pulumi.get(self, "service_principal_key") + + @service_principal_key.setter + def service_principal_key(self, value: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]): + pulumi.set(self, "service_principal_key", value) + @property @pulumi.getter(name="sslMode") def ssl_mode(self) -> Optional[Any]: @@ -19935,6 +20087,18 @@ def ssl_mode(self) -> Optional[Any]: def ssl_mode(self, value: Optional[Any]): pulumi.set(self, "ssl_mode", value) + @property + @pulumi.getter + def tenant(self) -> Optional[Any]: + """ + The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "tenant") + + @tenant.setter + def tenant(self, value: Optional[Any]): + pulumi.set(self, "tenant", value) + @property @pulumi.getter def timeout(self) -> Optional[Any]: @@ -30683,7 +30847,7 @@ class CopyActivityArgsDict(TypedDict): """ Activity name. """ - sink: pulumi.Input[Union['AvroSinkArgsDict', 'AzureBlobFSSinkArgsDict', 'AzureDataExplorerSinkArgsDict', 'AzureDataLakeStoreSinkArgsDict', 'AzureDatabricksDeltaLakeSinkArgsDict', 'AzureMySqlSinkArgsDict', 'AzurePostgreSqlSinkArgsDict', 'AzureQueueSinkArgsDict', 'AzureSearchIndexSinkArgsDict', 'AzureSqlSinkArgsDict', 'AzureTableSinkArgsDict', 'BinarySinkArgsDict', 'BlobSinkArgsDict', 'CommonDataServiceForAppsSinkArgsDict', 'CosmosDbMongoDbApiSinkArgsDict', 'CosmosDbSqlApiSinkArgsDict', 'DelimitedTextSinkArgsDict', 'DocumentDbCollectionSinkArgsDict', 'DynamicsCrmSinkArgsDict', 'DynamicsSinkArgsDict', 'FileSystemSinkArgsDict', 'IcebergSinkArgsDict', 'InformixSinkArgsDict', 'JsonSinkArgsDict', 'LakeHouseTableSinkArgsDict', 'MicrosoftAccessSinkArgsDict', 'MongoDbAtlasSinkArgsDict', 'MongoDbV2SinkArgsDict', 'OdbcSinkArgsDict', 'OracleSinkArgsDict', 'OrcSinkArgsDict', 'ParquetSinkArgsDict', 'RestSinkArgsDict', 'SalesforceServiceCloudSinkArgsDict', 'SalesforceServiceCloudV2SinkArgsDict', 'SalesforceSinkArgsDict', 'SalesforceV2SinkArgsDict', 'SapCloudForCustomerSinkArgsDict', 'SnowflakeSinkArgsDict', 'SnowflakeV2SinkArgsDict', 'SqlDWSinkArgsDict', 'SqlMISinkArgsDict', 'SqlServerSinkArgsDict', 'SqlSinkArgsDict', 'WarehouseSinkArgsDict']] + sink: pulumi.Input[Union['AvroSinkArgsDict', 'AzureBlobFSSinkArgsDict', 'AzureDataExplorerSinkArgsDict', 'AzureDataLakeStoreSinkArgsDict', 'AzureDatabricksDeltaLakeSinkArgsDict', 'AzureMySqlSinkArgsDict', 'AzurePostgreSqlSinkArgsDict', 'AzureQueueSinkArgsDict', 'AzureSearchIndexSinkArgsDict', 'AzureSqlSinkArgsDict', 'AzureTableSinkArgsDict', 'BinarySinkArgsDict', 'BlobSinkArgsDict', 'CommonDataServiceForAppsSinkArgsDict', 'CosmosDbMongoDbApiSinkArgsDict', 'CosmosDbSqlApiSinkArgsDict', 'DelimitedTextSinkArgsDict', 'DocumentDbCollectionSinkArgsDict', 'DynamicsCrmSinkArgsDict', 'DynamicsSinkArgsDict', 'FileSystemSinkArgsDict', 'IcebergSinkArgsDict', 'InformixSinkArgsDict', 'JsonSinkArgsDict', 'LakeHouseTableSinkArgsDict', 'MicrosoftAccessSinkArgsDict', 'MongoDbAtlasSinkArgsDict', 'MongoDbV2SinkArgsDict', 'OdbcSinkArgsDict', 'OracleSinkArgsDict', 'OrcSinkArgsDict', 'ParquetSinkArgsDict', 'RestSinkArgsDict', 'SalesforceServiceCloudSinkArgsDict', 'SalesforceServiceCloudV2SinkArgsDict', 'SalesforceSinkArgsDict', 'SalesforceV2SinkArgsDict', 'SapCloudForCustomerSinkArgsDict', 'SnowflakeSinkArgsDict', 'SnowflakeV2SinkArgsDict', 'SqlDWSinkArgsDict', 'SqlMISinkArgsDict', 'SqlServerSinkArgsDict', 'SqlSinkArgsDict', 'TeradataSinkArgsDict', 'WarehouseSinkArgsDict']] """ Copy activity sink. """ @@ -30791,7 +30955,7 @@ class CopyActivityArgsDict(TypedDict): class CopyActivityArgs: def __init__(__self__, *, name: pulumi.Input[str], - sink: pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'WarehouseSinkArgs']], + sink: pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'TeradataSinkArgs', 'WarehouseSinkArgs']], source: pulumi.Input[Union['AmazonMWSSourceArgs', 'AmazonRdsForOracleSourceArgs', 'AmazonRdsForSqlServerSourceArgs', 'AmazonRedshiftSourceArgs', 'AvroSourceArgs', 'AzureBlobFSSourceArgs', 'AzureDataExplorerSourceArgs', 'AzureDataLakeStoreSourceArgs', 'AzureDatabricksDeltaLakeSourceArgs', 'AzureMariaDBSourceArgs', 'AzureMySqlSourceArgs', 'AzurePostgreSqlSourceArgs', 'AzureSqlSourceArgs', 'AzureTableSourceArgs', 'BinarySourceArgs', 'BlobSourceArgs', 'CassandraSourceArgs', 'CommonDataServiceForAppsSourceArgs', 'ConcurSourceArgs', 'CosmosDbMongoDbApiSourceArgs', 'CosmosDbSqlApiSourceArgs', 'CouchbaseSourceArgs', 'Db2SourceArgs', 'DelimitedTextSourceArgs', 'DocumentDbCollectionSourceArgs', 'DrillSourceArgs', 'DynamicsAXSourceArgs', 'DynamicsCrmSourceArgs', 'DynamicsSourceArgs', 'EloquaSourceArgs', 'ExcelSourceArgs', 'FileSystemSourceArgs', 'GoogleAdWordsSourceArgs', 'GoogleBigQuerySourceArgs', 'GoogleBigQueryV2SourceArgs', 'GreenplumSourceArgs', 'HBaseSourceArgs', 'HdfsSourceArgs', 'HiveSourceArgs', 'HttpSourceArgs', 'HubspotSourceArgs', 'ImpalaSourceArgs', 'InformixSourceArgs', 'JiraSourceArgs', 'JsonSourceArgs', 'LakeHouseTableSourceArgs', 'MagentoSourceArgs', 'MariaDBSourceArgs', 'MarketoSourceArgs', 'MicrosoftAccessSourceArgs', 'MongoDbAtlasSourceArgs', 'MongoDbSourceArgs', 'MongoDbV2SourceArgs', 'MySqlSourceArgs', 'NetezzaSourceArgs', 'ODataSourceArgs', 'OdbcSourceArgs', 'Office365SourceArgs', 'OracleServiceCloudSourceArgs', 'OracleSourceArgs', 'OrcSourceArgs', 'ParquetSourceArgs', 'PaypalSourceArgs', 'PhoenixSourceArgs', 'PostgreSqlSourceArgs', 'PostgreSqlV2SourceArgs', 'PrestoSourceArgs', 'QuickBooksSourceArgs', 'RelationalSourceArgs', 'ResponsysSourceArgs', 'RestSourceArgs', 'SalesforceMarketingCloudSourceArgs', 'SalesforceServiceCloudSourceArgs', 'SalesforceServiceCloudV2SourceArgs', 'SalesforceSourceArgs', 'SalesforceV2SourceArgs', 'SapBwSourceArgs', 'SapCloudForCustomerSourceArgs', 'SapEccSourceArgs', 'SapHanaSourceArgs', 'SapOdpSourceArgs', 'SapOpenHubSourceArgs', 'SapTableSourceArgs', 'ServiceNowSourceArgs', 'ServiceNowV2SourceArgs', 'SharePointOnlineListSourceArgs', 'ShopifySourceArgs', 'SnowflakeSourceArgs', 'SnowflakeV2SourceArgs', 'SparkSourceArgs', 'SqlDWSourceArgs', 'SqlMISourceArgs', 'SqlServerSourceArgs', 'SqlSourceArgs', 'SquareSourceArgs', 'SybaseSourceArgs', 'TabularSourceArgs', 'TeradataSourceArgs', 'VerticaSourceArgs', 'WarehouseSourceArgs', 'WebSourceArgs', 'XeroSourceArgs', 'XmlSourceArgs', 'ZohoSourceArgs']], type: pulumi.Input[str], data_integration_units: Optional[Any] = None, @@ -30819,7 +30983,7 @@ def __init__(__self__, *, """ Copy activity. :param pulumi.Input[str] name: Activity name. - :param pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'WarehouseSinkArgs']] sink: Copy activity sink. + :param pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'TeradataSinkArgs', 'WarehouseSinkArgs']] sink: Copy activity sink. :param pulumi.Input[Union['AmazonMWSSourceArgs', 'AmazonRdsForOracleSourceArgs', 'AmazonRdsForSqlServerSourceArgs', 'AmazonRedshiftSourceArgs', 'AvroSourceArgs', 'AzureBlobFSSourceArgs', 'AzureDataExplorerSourceArgs', 'AzureDataLakeStoreSourceArgs', 'AzureDatabricksDeltaLakeSourceArgs', 'AzureMariaDBSourceArgs', 'AzureMySqlSourceArgs', 'AzurePostgreSqlSourceArgs', 'AzureSqlSourceArgs', 'AzureTableSourceArgs', 'BinarySourceArgs', 'BlobSourceArgs', 'CassandraSourceArgs', 'CommonDataServiceForAppsSourceArgs', 'ConcurSourceArgs', 'CosmosDbMongoDbApiSourceArgs', 'CosmosDbSqlApiSourceArgs', 'CouchbaseSourceArgs', 'Db2SourceArgs', 'DelimitedTextSourceArgs', 'DocumentDbCollectionSourceArgs', 'DrillSourceArgs', 'DynamicsAXSourceArgs', 'DynamicsCrmSourceArgs', 'DynamicsSourceArgs', 'EloquaSourceArgs', 'ExcelSourceArgs', 'FileSystemSourceArgs', 'GoogleAdWordsSourceArgs', 'GoogleBigQuerySourceArgs', 'GoogleBigQueryV2SourceArgs', 'GreenplumSourceArgs', 'HBaseSourceArgs', 'HdfsSourceArgs', 'HiveSourceArgs', 'HttpSourceArgs', 'HubspotSourceArgs', 'ImpalaSourceArgs', 'InformixSourceArgs', 'JiraSourceArgs', 'JsonSourceArgs', 'LakeHouseTableSourceArgs', 'MagentoSourceArgs', 'MariaDBSourceArgs', 'MarketoSourceArgs', 'MicrosoftAccessSourceArgs', 'MongoDbAtlasSourceArgs', 'MongoDbSourceArgs', 'MongoDbV2SourceArgs', 'MySqlSourceArgs', 'NetezzaSourceArgs', 'ODataSourceArgs', 'OdbcSourceArgs', 'Office365SourceArgs', 'OracleServiceCloudSourceArgs', 'OracleSourceArgs', 'OrcSourceArgs', 'ParquetSourceArgs', 'PaypalSourceArgs', 'PhoenixSourceArgs', 'PostgreSqlSourceArgs', 'PostgreSqlV2SourceArgs', 'PrestoSourceArgs', 'QuickBooksSourceArgs', 'RelationalSourceArgs', 'ResponsysSourceArgs', 'RestSourceArgs', 'SalesforceMarketingCloudSourceArgs', 'SalesforceServiceCloudSourceArgs', 'SalesforceServiceCloudV2SourceArgs', 'SalesforceSourceArgs', 'SalesforceV2SourceArgs', 'SapBwSourceArgs', 'SapCloudForCustomerSourceArgs', 'SapEccSourceArgs', 'SapHanaSourceArgs', 'SapOdpSourceArgs', 'SapOpenHubSourceArgs', 'SapTableSourceArgs', 'ServiceNowSourceArgs', 'ServiceNowV2SourceArgs', 'SharePointOnlineListSourceArgs', 'ShopifySourceArgs', 'SnowflakeSourceArgs', 'SnowflakeV2SourceArgs', 'SparkSourceArgs', 'SqlDWSourceArgs', 'SqlMISourceArgs', 'SqlServerSourceArgs', 'SqlSourceArgs', 'SquareSourceArgs', 'SybaseSourceArgs', 'TabularSourceArgs', 'TeradataSourceArgs', 'VerticaSourceArgs', 'WarehouseSourceArgs', 'WebSourceArgs', 'XeroSourceArgs', 'XmlSourceArgs', 'ZohoSourceArgs']] source: Copy activity source. :param pulumi.Input[str] type: Type of activity. Expected value is 'Copy'. @@ -30909,14 +31073,14 @@ def name(self, value: pulumi.Input[str]): @property @pulumi.getter - def sink(self) -> pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'WarehouseSinkArgs']]: + def sink(self) -> pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'TeradataSinkArgs', 'WarehouseSinkArgs']]: """ Copy activity sink. """ return pulumi.get(self, "sink") @sink.setter - def sink(self, value: pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'WarehouseSinkArgs']]): + def sink(self, value: pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'TeradataSinkArgs', 'WarehouseSinkArgs']]): pulumi.set(self, "sink", value) @property @@ -78334,11 +78498,11 @@ def wildcard_folder_path(self, value: Optional[Any]): if not MYPY: class OracleLinkedServiceArgsDict(TypedDict): """ - Oracle database. + Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. """ connection_string: Any """ - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. """ type: pulumi.Input[str] """ @@ -78349,18 +78513,58 @@ class OracleLinkedServiceArgsDict(TypedDict): """ List of tags that can be used for describing the linked service. """ + authentication_type: NotRequired[pulumi.Input[Union[str, 'OracleAuthenticationType']]] + """ + Authentication type for connecting to the Oracle database. Only used for Version 2.0. + """ connect_via: NotRequired[pulumi.Input['IntegrationRuntimeReferenceArgsDict']] """ The integration runtime reference. """ + crypto_checksum_client: NotRequired[Any] + """ + Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + """ + crypto_checksum_types_client: NotRequired[Any] + """ + Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + """ description: NotRequired[pulumi.Input[str]] """ Linked service description. """ + enable_bulk_load: NotRequired[Any] + """ + Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + """ encrypted_credential: NotRequired[pulumi.Input[str]] """ The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. """ + encryption_client: NotRequired[Any] + """ + Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + """ + encryption_types_client: NotRequired[Any] + """ + Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + """ + fetch_size: NotRequired[Any] + """ + Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + """ + fetch_tswtz_as_timestamp: NotRequired[Any] + """ + Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + """ + initial_lob_fetch_size: NotRequired[Any] + """ + Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + """ + initialization_string: NotRequired[Any] + """ + Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + """ parameters: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgsDict']]]] """ Parameters for linked service. @@ -78369,6 +78573,22 @@ class OracleLinkedServiceArgsDict(TypedDict): """ The Azure key vault secret reference of password in connection string. """ + server: NotRequired[Any] + """ + The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + """ + statement_cache_size: NotRequired[Any] + """ + Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + """ + support_v1_data_types: NotRequired[Any] + """ + Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + """ + username: NotRequired[Any] + """ + The Oracle database username. Type: string. Only used for Version 2.0. + """ version: NotRequired[pulumi.Input[str]] """ Version of the linked service. @@ -78382,39 +78602,95 @@ def __init__(__self__, *, connection_string: Any, type: pulumi.Input[str], annotations: Optional[pulumi.Input[Sequence[Any]]] = None, + authentication_type: Optional[pulumi.Input[Union[str, 'OracleAuthenticationType']]] = None, connect_via: Optional[pulumi.Input['IntegrationRuntimeReferenceArgs']] = None, + crypto_checksum_client: Optional[Any] = None, + crypto_checksum_types_client: Optional[Any] = None, description: Optional[pulumi.Input[str]] = None, + enable_bulk_load: Optional[Any] = None, encrypted_credential: Optional[pulumi.Input[str]] = None, + encryption_client: Optional[Any] = None, + encryption_types_client: Optional[Any] = None, + fetch_size: Optional[Any] = None, + fetch_tswtz_as_timestamp: Optional[Any] = None, + initial_lob_fetch_size: Optional[Any] = None, + initialization_string: Optional[Any] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgs']]]] = None, password: Optional[pulumi.Input['AzureKeyVaultSecretReferenceArgs']] = None, + server: Optional[Any] = None, + statement_cache_size: Optional[Any] = None, + support_v1_data_types: Optional[Any] = None, + username: Optional[Any] = None, version: Optional[pulumi.Input[str]] = None): """ - Oracle database. - :param Any connection_string: The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. + :param Any connection_string: The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. :param pulumi.Input[str] type: Type of linked service. Expected value is 'Oracle'. :param pulumi.Input[Sequence[Any]] annotations: List of tags that can be used for describing the linked service. + :param pulumi.Input[Union[str, 'OracleAuthenticationType']] authentication_type: Authentication type for connecting to the Oracle database. Only used for Version 2.0. :param pulumi.Input['IntegrationRuntimeReferenceArgs'] connect_via: The integration runtime reference. + :param Any crypto_checksum_client: Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + :param Any crypto_checksum_types_client: Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. :param pulumi.Input[str] description: Linked service description. + :param Any enable_bulk_load: Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. :param pulumi.Input[str] encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. + :param Any encryption_client: Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + :param Any encryption_types_client: Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + :param Any fetch_size: Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + :param Any fetch_tswtz_as_timestamp: Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + :param Any initial_lob_fetch_size: Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + :param Any initialization_string: Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. :param pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgs']]] parameters: Parameters for linked service. :param pulumi.Input['AzureKeyVaultSecretReferenceArgs'] password: The Azure key vault secret reference of password in connection string. + :param Any server: The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + :param Any statement_cache_size: Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + :param Any support_v1_data_types: Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + :param Any username: The Oracle database username. Type: string. Only used for Version 2.0. :param pulumi.Input[str] version: Version of the linked service. """ pulumi.set(__self__, "connection_string", connection_string) pulumi.set(__self__, "type", 'Oracle') if annotations is not None: pulumi.set(__self__, "annotations", annotations) + if authentication_type is not None: + pulumi.set(__self__, "authentication_type", authentication_type) if connect_via is not None: pulumi.set(__self__, "connect_via", connect_via) + if crypto_checksum_client is not None: + pulumi.set(__self__, "crypto_checksum_client", crypto_checksum_client) + if crypto_checksum_types_client is not None: + pulumi.set(__self__, "crypto_checksum_types_client", crypto_checksum_types_client) if description is not None: pulumi.set(__self__, "description", description) + if enable_bulk_load is not None: + pulumi.set(__self__, "enable_bulk_load", enable_bulk_load) if encrypted_credential is not None: pulumi.set(__self__, "encrypted_credential", encrypted_credential) + if encryption_client is not None: + pulumi.set(__self__, "encryption_client", encryption_client) + if encryption_types_client is not None: + pulumi.set(__self__, "encryption_types_client", encryption_types_client) + if fetch_size is not None: + pulumi.set(__self__, "fetch_size", fetch_size) + if fetch_tswtz_as_timestamp is not None: + pulumi.set(__self__, "fetch_tswtz_as_timestamp", fetch_tswtz_as_timestamp) + if initial_lob_fetch_size is not None: + pulumi.set(__self__, "initial_lob_fetch_size", initial_lob_fetch_size) + if initialization_string is not None: + pulumi.set(__self__, "initialization_string", initialization_string) if parameters is not None: pulumi.set(__self__, "parameters", parameters) if password is not None: pulumi.set(__self__, "password", password) + if server is not None: + pulumi.set(__self__, "server", server) + if statement_cache_size is not None: + pulumi.set(__self__, "statement_cache_size", statement_cache_size) + if support_v1_data_types is not None: + pulumi.set(__self__, "support_v1_data_types", support_v1_data_types) + if username is not None: + pulumi.set(__self__, "username", username) if version is not None: pulumi.set(__self__, "version", version) @@ -78422,7 +78698,7 @@ def __init__(__self__, *, @pulumi.getter(name="connectionString") def connection_string(self) -> Any: """ - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. """ return pulumi.get(self, "connection_string") @@ -78455,6 +78731,18 @@ def annotations(self) -> Optional[pulumi.Input[Sequence[Any]]]: def annotations(self, value: Optional[pulumi.Input[Sequence[Any]]]): pulumi.set(self, "annotations", value) + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> Optional[pulumi.Input[Union[str, 'OracleAuthenticationType']]]: + """ + Authentication type for connecting to the Oracle database. Only used for Version 2.0. + """ + return pulumi.get(self, "authentication_type") + + @authentication_type.setter + def authentication_type(self, value: Optional[pulumi.Input[Union[str, 'OracleAuthenticationType']]]): + pulumi.set(self, "authentication_type", value) + @property @pulumi.getter(name="connectVia") def connect_via(self) -> Optional[pulumi.Input['IntegrationRuntimeReferenceArgs']]: @@ -78467,6 +78755,30 @@ def connect_via(self) -> Optional[pulumi.Input['IntegrationRuntimeReferenceArgs' def connect_via(self, value: Optional[pulumi.Input['IntegrationRuntimeReferenceArgs']]): pulumi.set(self, "connect_via", value) + @property + @pulumi.getter(name="cryptoChecksumClient") + def crypto_checksum_client(self) -> Optional[Any]: + """ + Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "crypto_checksum_client") + + @crypto_checksum_client.setter + def crypto_checksum_client(self, value: Optional[Any]): + pulumi.set(self, "crypto_checksum_client", value) + + @property + @pulumi.getter(name="cryptoChecksumTypesClient") + def crypto_checksum_types_client(self) -> Optional[Any]: + """ + Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "crypto_checksum_types_client") + + @crypto_checksum_types_client.setter + def crypto_checksum_types_client(self, value: Optional[Any]): + pulumi.set(self, "crypto_checksum_types_client", value) + @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -78479,6 +78791,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="enableBulkLoad") + def enable_bulk_load(self) -> Optional[Any]: + """ + Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + """ + return pulumi.get(self, "enable_bulk_load") + + @enable_bulk_load.setter + def enable_bulk_load(self, value: Optional[Any]): + pulumi.set(self, "enable_bulk_load", value) + @property @pulumi.getter(name="encryptedCredential") def encrypted_credential(self) -> Optional[pulumi.Input[str]]: @@ -78491,6 +78815,78 @@ def encrypted_credential(self) -> Optional[pulumi.Input[str]]: def encrypted_credential(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "encrypted_credential", value) + @property + @pulumi.getter(name="encryptionClient") + def encryption_client(self) -> Optional[Any]: + """ + Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "encryption_client") + + @encryption_client.setter + def encryption_client(self, value: Optional[Any]): + pulumi.set(self, "encryption_client", value) + + @property + @pulumi.getter(name="encryptionTypesClient") + def encryption_types_client(self) -> Optional[Any]: + """ + Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "encryption_types_client") + + @encryption_types_client.setter + def encryption_types_client(self, value: Optional[Any]): + pulumi.set(self, "encryption_types_client", value) + + @property + @pulumi.getter(name="fetchSize") + def fetch_size(self) -> Optional[Any]: + """ + Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + """ + return pulumi.get(self, "fetch_size") + + @fetch_size.setter + def fetch_size(self, value: Optional[Any]): + pulumi.set(self, "fetch_size", value) + + @property + @pulumi.getter(name="fetchTswtzAsTimestamp") + def fetch_tswtz_as_timestamp(self) -> Optional[Any]: + """ + Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + """ + return pulumi.get(self, "fetch_tswtz_as_timestamp") + + @fetch_tswtz_as_timestamp.setter + def fetch_tswtz_as_timestamp(self, value: Optional[Any]): + pulumi.set(self, "fetch_tswtz_as_timestamp", value) + + @property + @pulumi.getter(name="initialLobFetchSize") + def initial_lob_fetch_size(self) -> Optional[Any]: + """ + Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + """ + return pulumi.get(self, "initial_lob_fetch_size") + + @initial_lob_fetch_size.setter + def initial_lob_fetch_size(self, value: Optional[Any]): + pulumi.set(self, "initial_lob_fetch_size", value) + + @property + @pulumi.getter(name="initializationString") + def initialization_string(self) -> Optional[Any]: + """ + Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "initialization_string") + + @initialization_string.setter + def initialization_string(self, value: Optional[Any]): + pulumi.set(self, "initialization_string", value) + @property @pulumi.getter def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgs']]]]: @@ -78515,6 +78911,54 @@ def password(self) -> Optional[pulumi.Input['AzureKeyVaultSecretReferenceArgs']] def password(self, value: Optional[pulumi.Input['AzureKeyVaultSecretReferenceArgs']]): pulumi.set(self, "password", value) + @property + @pulumi.getter + def server(self) -> Optional[Any]: + """ + The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "server") + + @server.setter + def server(self, value: Optional[Any]): + pulumi.set(self, "server", value) + + @property + @pulumi.getter(name="statementCacheSize") + def statement_cache_size(self) -> Optional[Any]: + """ + Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + """ + return pulumi.get(self, "statement_cache_size") + + @statement_cache_size.setter + def statement_cache_size(self, value: Optional[Any]): + pulumi.set(self, "statement_cache_size", value) + + @property + @pulumi.getter(name="supportV1DataTypes") + def support_v1_data_types(self) -> Optional[Any]: + """ + Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + """ + return pulumi.get(self, "support_v1_data_types") + + @support_v1_data_types.setter + def support_v1_data_types(self, value: Optional[Any]): + pulumi.set(self, "support_v1_data_types", value) + + @property + @pulumi.getter + def username(self) -> Optional[Any]: + """ + The Oracle database username. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: Optional[Any]): + pulumi.set(self, "username", value) + @property @pulumi.getter def version(self) -> Optional[pulumi.Input[str]]: @@ -115681,6 +116125,64 @@ def version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "version", value) +if not MYPY: + class TeradataImportCommandArgsDict(TypedDict): + """ + Teradata import command settings. + """ + type: pulumi.Input[str] + """ + The import setting type. + Expected value is 'TeradataImportCommand'. + """ + additional_format_options: NotRequired[Any] + """ + Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + """ +elif False: + TeradataImportCommandArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TeradataImportCommandArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + additional_format_options: Optional[Any] = None): + """ + Teradata import command settings. + :param pulumi.Input[str] type: The import setting type. + Expected value is 'TeradataImportCommand'. + :param Any additional_format_options: Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + """ + pulumi.set(__self__, "type", 'TeradataImportCommand') + if additional_format_options is not None: + pulumi.set(__self__, "additional_format_options", additional_format_options) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The import setting type. + Expected value is 'TeradataImportCommand'. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="additionalFormatOptions") + def additional_format_options(self) -> Optional[Any]: + """ + Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + """ + return pulumi.get(self, "additional_format_options") + + @additional_format_options.setter + def additional_format_options(self, value: Optional[Any]): + pulumi.set(self, "additional_format_options", value) + + if not MYPY: class TeradataLinkedServiceArgsDict(TypedDict): """ @@ -115699,13 +116201,17 @@ class TeradataLinkedServiceArgsDict(TypedDict): """ AuthenticationType to be used for connection. """ + character_set: NotRequired[Any] + """ + The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + """ connect_via: NotRequired[pulumi.Input['IntegrationRuntimeReferenceArgsDict']] """ The integration runtime reference. """ connection_string: NotRequired[Any] """ - Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. """ description: NotRequired[pulumi.Input[str]] """ @@ -115715,6 +116221,14 @@ class TeradataLinkedServiceArgsDict(TypedDict): """ The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. """ + https_port_number: NotRequired[Any] + """ + The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + """ + max_resp_size: NotRequired[Any] + """ + The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + """ parameters: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgsDict']]]] """ Parameters for linked service. @@ -115723,10 +116237,22 @@ class TeradataLinkedServiceArgsDict(TypedDict): """ Password for authentication. """ + port_number: NotRequired[Any] + """ + The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + """ server: NotRequired[Any] """ Server name for connection. Type: string (or Expression with resultType string). """ + ssl_mode: NotRequired[Any] + """ + SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + """ + use_data_encryption: NotRequired[Any] + """ + Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + """ username: NotRequired[Any] """ Username for authentication. Type: string (or Expression with resultType string). @@ -115744,13 +116270,19 @@ def __init__(__self__, *, type: pulumi.Input[str], annotations: Optional[pulumi.Input[Sequence[Any]]] = None, authentication_type: Optional[pulumi.Input[Union[str, 'TeradataAuthenticationType']]] = None, + character_set: Optional[Any] = None, connect_via: Optional[pulumi.Input['IntegrationRuntimeReferenceArgs']] = None, connection_string: Optional[Any] = None, description: Optional[pulumi.Input[str]] = None, encrypted_credential: Optional[pulumi.Input[str]] = None, + https_port_number: Optional[Any] = None, + max_resp_size: Optional[Any] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgs']]]] = None, password: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]] = None, + port_number: Optional[Any] = None, server: Optional[Any] = None, + ssl_mode: Optional[Any] = None, + use_data_encryption: Optional[Any] = None, username: Optional[Any] = None, version: Optional[pulumi.Input[str]] = None): """ @@ -115759,13 +116291,19 @@ def __init__(__self__, *, Expected value is 'Teradata'. :param pulumi.Input[Sequence[Any]] annotations: List of tags that can be used for describing the linked service. :param pulumi.Input[Union[str, 'TeradataAuthenticationType']] authentication_type: AuthenticationType to be used for connection. + :param Any character_set: The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. :param pulumi.Input['IntegrationRuntimeReferenceArgs'] connect_via: The integration runtime reference. - :param Any connection_string: Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + :param Any connection_string: Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. :param pulumi.Input[str] description: Linked service description. :param pulumi.Input[str] encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. + :param Any https_port_number: The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + :param Any max_resp_size: The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. :param pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgs']]] parameters: Parameters for linked service. :param pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']] password: Password for authentication. + :param Any port_number: The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. :param Any server: Server name for connection. Type: string (or Expression with resultType string). + :param Any ssl_mode: SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + :param Any use_data_encryption: Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. :param Any username: Username for authentication. Type: string (or Expression with resultType string). :param pulumi.Input[str] version: Version of the linked service. """ @@ -115774,6 +116312,8 @@ def __init__(__self__, *, pulumi.set(__self__, "annotations", annotations) if authentication_type is not None: pulumi.set(__self__, "authentication_type", authentication_type) + if character_set is not None: + pulumi.set(__self__, "character_set", character_set) if connect_via is not None: pulumi.set(__self__, "connect_via", connect_via) if connection_string is not None: @@ -115782,12 +116322,22 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if encrypted_credential is not None: pulumi.set(__self__, "encrypted_credential", encrypted_credential) + if https_port_number is not None: + pulumi.set(__self__, "https_port_number", https_port_number) + if max_resp_size is not None: + pulumi.set(__self__, "max_resp_size", max_resp_size) if parameters is not None: pulumi.set(__self__, "parameters", parameters) if password is not None: pulumi.set(__self__, "password", password) + if port_number is not None: + pulumi.set(__self__, "port_number", port_number) if server is not None: pulumi.set(__self__, "server", server) + if ssl_mode is not None: + pulumi.set(__self__, "ssl_mode", ssl_mode) + if use_data_encryption is not None: + pulumi.set(__self__, "use_data_encryption", use_data_encryption) if username is not None: pulumi.set(__self__, "username", username) if version is not None: @@ -115830,6 +116380,18 @@ def authentication_type(self) -> Optional[pulumi.Input[Union[str, 'TeradataAuthe def authentication_type(self, value: Optional[pulumi.Input[Union[str, 'TeradataAuthenticationType']]]): pulumi.set(self, "authentication_type", value) + @property + @pulumi.getter(name="characterSet") + def character_set(self) -> Optional[Any]: + """ + The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + """ + return pulumi.get(self, "character_set") + + @character_set.setter + def character_set(self, value: Optional[Any]): + pulumi.set(self, "character_set", value) + @property @pulumi.getter(name="connectVia") def connect_via(self) -> Optional[pulumi.Input['IntegrationRuntimeReferenceArgs']]: @@ -115846,7 +116408,7 @@ def connect_via(self, value: Optional[pulumi.Input['IntegrationRuntimeReferenceA @pulumi.getter(name="connectionString") def connection_string(self) -> Optional[Any]: """ - Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. """ return pulumi.get(self, "connection_string") @@ -115878,6 +116440,30 @@ def encrypted_credential(self) -> Optional[pulumi.Input[str]]: def encrypted_credential(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "encrypted_credential", value) + @property + @pulumi.getter(name="httpsPortNumber") + def https_port_number(self) -> Optional[Any]: + """ + The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + """ + return pulumi.get(self, "https_port_number") + + @https_port_number.setter + def https_port_number(self, value: Optional[Any]): + pulumi.set(self, "https_port_number", value) + + @property + @pulumi.getter(name="maxRespSize") + def max_resp_size(self) -> Optional[Any]: + """ + The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + """ + return pulumi.get(self, "max_resp_size") + + @max_resp_size.setter + def max_resp_size(self, value: Optional[Any]): + pulumi.set(self, "max_resp_size", value) + @property @pulumi.getter def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgs']]]]: @@ -115902,6 +116488,18 @@ def password(self) -> Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceA def password(self, value: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]): pulumi.set(self, "password", value) + @property + @pulumi.getter(name="portNumber") + def port_number(self) -> Optional[Any]: + """ + The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + """ + return pulumi.get(self, "port_number") + + @port_number.setter + def port_number(self, value: Optional[Any]): + pulumi.set(self, "port_number", value) + @property @pulumi.getter def server(self) -> Optional[Any]: @@ -115914,6 +116512,30 @@ def server(self) -> Optional[Any]: def server(self, value: Optional[Any]): pulumi.set(self, "server", value) + @property + @pulumi.getter(name="sslMode") + def ssl_mode(self) -> Optional[Any]: + """ + SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + """ + return pulumi.get(self, "ssl_mode") + + @ssl_mode.setter + def ssl_mode(self, value: Optional[Any]): + pulumi.set(self, "ssl_mode", value) + + @property + @pulumi.getter(name="useDataEncryption") + def use_data_encryption(self) -> Optional[Any]: + """ + Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + """ + return pulumi.get(self, "use_data_encryption") + + @use_data_encryption.setter + def use_data_encryption(self, value: Optional[Any]): + pulumi.set(self, "use_data_encryption", value) + @property @pulumi.getter def username(self) -> Optional[Any]: @@ -116015,6 +116637,184 @@ def partition_upper_bound(self, value: Optional[Any]): pulumi.set(self, "partition_upper_bound", value) +if not MYPY: + class TeradataSinkArgsDict(TypedDict): + """ + A copy activity Teradata sink. + """ + type: pulumi.Input[str] + """ + Copy sink type. + Expected value is 'TeradataSink'. + """ + disable_metrics_collection: NotRequired[Any] + """ + If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + """ + import_settings: NotRequired[pulumi.Input['TeradataImportCommandArgsDict']] + """ + Teradata import settings. + """ + max_concurrent_connections: NotRequired[Any] + """ + The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + """ + sink_retry_count: NotRequired[Any] + """ + Sink retry count. Type: integer (or Expression with resultType integer). + """ + sink_retry_wait: NotRequired[Any] + """ + Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + write_batch_size: NotRequired[Any] + """ + Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + """ + write_batch_timeout: NotRequired[Any] + """ + Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ +elif False: + TeradataSinkArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TeradataSinkArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + disable_metrics_collection: Optional[Any] = None, + import_settings: Optional[pulumi.Input['TeradataImportCommandArgs']] = None, + max_concurrent_connections: Optional[Any] = None, + sink_retry_count: Optional[Any] = None, + sink_retry_wait: Optional[Any] = None, + write_batch_size: Optional[Any] = None, + write_batch_timeout: Optional[Any] = None): + """ + A copy activity Teradata sink. + :param pulumi.Input[str] type: Copy sink type. + Expected value is 'TeradataSink'. + :param Any disable_metrics_collection: If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + :param pulumi.Input['TeradataImportCommandArgs'] import_settings: Teradata import settings. + :param Any max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + :param Any sink_retry_count: Sink retry count. Type: integer (or Expression with resultType integer). + :param Any sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :param Any write_batch_size: Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + :param Any write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + pulumi.set(__self__, "type", 'TeradataSink') + if disable_metrics_collection is not None: + pulumi.set(__self__, "disable_metrics_collection", disable_metrics_collection) + if import_settings is not None: + pulumi.set(__self__, "import_settings", import_settings) + if max_concurrent_connections is not None: + pulumi.set(__self__, "max_concurrent_connections", max_concurrent_connections) + if sink_retry_count is not None: + pulumi.set(__self__, "sink_retry_count", sink_retry_count) + if sink_retry_wait is not None: + pulumi.set(__self__, "sink_retry_wait", sink_retry_wait) + if write_batch_size is not None: + pulumi.set(__self__, "write_batch_size", write_batch_size) + if write_batch_timeout is not None: + pulumi.set(__self__, "write_batch_timeout", write_batch_timeout) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + Copy sink type. + Expected value is 'TeradataSink'. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="disableMetricsCollection") + def disable_metrics_collection(self) -> Optional[Any]: + """ + If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + """ + return pulumi.get(self, "disable_metrics_collection") + + @disable_metrics_collection.setter + def disable_metrics_collection(self, value: Optional[Any]): + pulumi.set(self, "disable_metrics_collection", value) + + @property + @pulumi.getter(name="importSettings") + def import_settings(self) -> Optional[pulumi.Input['TeradataImportCommandArgs']]: + """ + Teradata import settings. + """ + return pulumi.get(self, "import_settings") + + @import_settings.setter + def import_settings(self, value: Optional[pulumi.Input['TeradataImportCommandArgs']]): + pulumi.set(self, "import_settings", value) + + @property + @pulumi.getter(name="maxConcurrentConnections") + def max_concurrent_connections(self) -> Optional[Any]: + """ + The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + """ + return pulumi.get(self, "max_concurrent_connections") + + @max_concurrent_connections.setter + def max_concurrent_connections(self, value: Optional[Any]): + pulumi.set(self, "max_concurrent_connections", value) + + @property + @pulumi.getter(name="sinkRetryCount") + def sink_retry_count(self) -> Optional[Any]: + """ + Sink retry count. Type: integer (or Expression with resultType integer). + """ + return pulumi.get(self, "sink_retry_count") + + @sink_retry_count.setter + def sink_retry_count(self, value: Optional[Any]): + pulumi.set(self, "sink_retry_count", value) + + @property + @pulumi.getter(name="sinkRetryWait") + def sink_retry_wait(self) -> Optional[Any]: + """ + Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + return pulumi.get(self, "sink_retry_wait") + + @sink_retry_wait.setter + def sink_retry_wait(self, value: Optional[Any]): + pulumi.set(self, "sink_retry_wait", value) + + @property + @pulumi.getter(name="writeBatchSize") + def write_batch_size(self) -> Optional[Any]: + """ + Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + """ + return pulumi.get(self, "write_batch_size") + + @write_batch_size.setter + def write_batch_size(self, value: Optional[Any]): + pulumi.set(self, "write_batch_size", value) + + @property + @pulumi.getter(name="writeBatchTimeout") + def write_batch_timeout(self) -> Optional[Any]: + """ + Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + return pulumi.get(self, "write_batch_timeout") + + @write_batch_timeout.setter + def write_batch_timeout(self, value: Optional[Any]): + pulumi.set(self, "write_batch_timeout", value) + + if not MYPY: class TeradataSourceArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_azure_native/datafactory/outputs.py b/sdk/python/pulumi_azure_native/datafactory/outputs.py index 4f29fde3d1c1..40c674ecae3c 100644 --- a/sdk/python/pulumi_azure_native/datafactory/outputs.py +++ b/sdk/python/pulumi_azure_native/datafactory/outputs.py @@ -610,8 +610,10 @@ 'TarGZipReadSettingsResponse', 'TarReadSettingsResponse', 'TeamDeskLinkedServiceResponse', + 'TeradataImportCommandResponse', 'TeradataLinkedServiceResponse', 'TeradataPartitionSettingsResponse', + 'TeradataSinkResponse', 'TeradataSourceResponse', 'TeradataTableDatasetResponse', 'TextFormatResponse', @@ -13926,7 +13928,9 @@ class AzurePostgreSqlLinkedServiceResponse(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "commandTimeout": + if key == "azureCloudType": + suggest = "azure_cloud_type" + elif key == "commandTimeout": suggest = "command_timeout" elif key == "connectVia": suggest = "connect_via" @@ -13936,6 +13940,16 @@ def __key_warning(key: str): suggest = "encrypted_credential" elif key == "readBufferSize": suggest = "read_buffer_size" + elif key == "servicePrincipalCredentialType": + suggest = "service_principal_credential_type" + elif key == "servicePrincipalEmbeddedCert": + suggest = "service_principal_embedded_cert" + elif key == "servicePrincipalEmbeddedCertPassword": + suggest = "service_principal_embedded_cert_password" + elif key == "servicePrincipalId": + suggest = "service_principal_id" + elif key == "servicePrincipalKey": + suggest = "service_principal_key" elif key == "sslMode": suggest = "ssl_mode" elif key == "trustServerCertificate": @@ -13955,9 +13969,11 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, type: str, annotations: Optional[Sequence[Any]] = None, + azure_cloud_type: Optional[Any] = None, command_timeout: Optional[Any] = None, connect_via: Optional['outputs.IntegrationRuntimeReferenceResponse'] = None, connection_string: Optional[Any] = None, + credential: Optional['outputs.CredentialReferenceResponse'] = None, database: Optional[Any] = None, description: Optional[str] = None, encoding: Optional[Any] = None, @@ -13967,7 +13983,13 @@ def __init__(__self__, *, port: Optional[Any] = None, read_buffer_size: Optional[Any] = None, server: Optional[Any] = None, + service_principal_credential_type: Optional[Any] = None, + service_principal_embedded_cert: Optional[Any] = None, + service_principal_embedded_cert_password: Optional[Any] = None, + service_principal_id: Optional[Any] = None, + service_principal_key: Optional[Any] = None, ssl_mode: Optional[Any] = None, + tenant: Optional[Any] = None, timeout: Optional[Any] = None, timezone: Optional[Any] = None, trust_server_certificate: Optional[Any] = None, @@ -13978,9 +14000,11 @@ def __init__(__self__, *, :param str type: Type of linked service. Expected value is 'AzurePostgreSql'. :param Sequence[Any] annotations: List of tags that can be used for describing the linked service. + :param Any azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). :param Any command_timeout: The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. :param 'IntegrationRuntimeReferenceResponse' connect_via: The integration runtime reference. :param Any connection_string: An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + :param 'CredentialReferenceResponse' credential: The credential reference containing authentication information. :param Any database: Database name for connection. Type: string. :param str description: Linked service description. :param Any encoding: Gets or sets the .NET encoding that will be used to encode/decode PostgreSQL string data. Type: string @@ -13990,7 +14014,13 @@ def __init__(__self__, *, :param Any port: The port for the connection. Type: integer. :param Any read_buffer_size: Determines the size of the internal buffer uses when reading. Increasing may improve performance if transferring large values from the database. Type: integer. :param Any server: Server name for connection. Type: string. + :param Any service_principal_credential_type: The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + :param Union['AzureKeyVaultSecretReferenceResponse', 'SecureStringResponse'] service_principal_embedded_cert: Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + :param Union['AzureKeyVaultSecretReferenceResponse', 'SecureStringResponse'] service_principal_embedded_cert_password: Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + :param Any service_principal_id: The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + :param Union['AzureKeyVaultSecretReferenceResponse', 'SecureStringResponse'] service_principal_key: The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. :param Any ssl_mode: SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. + :param Any tenant: The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). :param Any timeout: The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. :param Any timezone: Gets or sets the session timezone. Type: string. :param Any trust_server_certificate: Whether to trust the server certificate without validating it. Type: boolean. @@ -14000,12 +14030,16 @@ def __init__(__self__, *, pulumi.set(__self__, "type", 'AzurePostgreSql') if annotations is not None: pulumi.set(__self__, "annotations", annotations) + if azure_cloud_type is not None: + pulumi.set(__self__, "azure_cloud_type", azure_cloud_type) if command_timeout is not None: pulumi.set(__self__, "command_timeout", command_timeout) if connect_via is not None: pulumi.set(__self__, "connect_via", connect_via) if connection_string is not None: pulumi.set(__self__, "connection_string", connection_string) + if credential is not None: + pulumi.set(__self__, "credential", credential) if database is not None: pulumi.set(__self__, "database", database) if description is not None: @@ -14024,8 +14058,20 @@ def __init__(__self__, *, pulumi.set(__self__, "read_buffer_size", read_buffer_size) if server is not None: pulumi.set(__self__, "server", server) + if service_principal_credential_type is not None: + pulumi.set(__self__, "service_principal_credential_type", service_principal_credential_type) + if service_principal_embedded_cert is not None: + pulumi.set(__self__, "service_principal_embedded_cert", service_principal_embedded_cert) + if service_principal_embedded_cert_password is not None: + pulumi.set(__self__, "service_principal_embedded_cert_password", service_principal_embedded_cert_password) + if service_principal_id is not None: + pulumi.set(__self__, "service_principal_id", service_principal_id) + if service_principal_key is not None: + pulumi.set(__self__, "service_principal_key", service_principal_key) if ssl_mode is not None: pulumi.set(__self__, "ssl_mode", ssl_mode) + if tenant is not None: + pulumi.set(__self__, "tenant", tenant) if timeout is not None: pulumi.set(__self__, "timeout", timeout) if timezone is not None: @@ -14054,6 +14100,14 @@ def annotations(self) -> Optional[Sequence[Any]]: """ return pulumi.get(self, "annotations") + @property + @pulumi.getter(name="azureCloudType") + def azure_cloud_type(self) -> Optional[Any]: + """ + Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "azure_cloud_type") + @property @pulumi.getter(name="commandTimeout") def command_timeout(self) -> Optional[Any]: @@ -14078,6 +14132,14 @@ def connection_string(self) -> Optional[Any]: """ return pulumi.get(self, "connection_string") + @property + @pulumi.getter + def credential(self) -> Optional['outputs.CredentialReferenceResponse']: + """ + The credential reference containing authentication information. + """ + return pulumi.get(self, "credential") + @property @pulumi.getter def database(self) -> Optional[Any]: @@ -14150,6 +14212,46 @@ def server(self) -> Optional[Any]: """ return pulumi.get(self, "server") + @property + @pulumi.getter(name="servicePrincipalCredentialType") + def service_principal_credential_type(self) -> Optional[Any]: + """ + The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_credential_type") + + @property + @pulumi.getter(name="servicePrincipalEmbeddedCert") + def service_principal_embedded_cert(self) -> Optional[Any]: + """ + Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_embedded_cert") + + @property + @pulumi.getter(name="servicePrincipalEmbeddedCertPassword") + def service_principal_embedded_cert_password(self) -> Optional[Any]: + """ + Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_embedded_cert_password") + + @property + @pulumi.getter(name="servicePrincipalId") + def service_principal_id(self) -> Optional[Any]: + """ + The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_id") + + @property + @pulumi.getter(name="servicePrincipalKey") + def service_principal_key(self) -> Optional[Any]: + """ + The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + """ + return pulumi.get(self, "service_principal_key") + @property @pulumi.getter(name="sslMode") def ssl_mode(self) -> Optional[Any]: @@ -14158,6 +14260,14 @@ def ssl_mode(self) -> Optional[Any]: """ return pulumi.get(self, "ssl_mode") + @property + @pulumi.getter + def tenant(self) -> Optional[Any]: + """ + The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "tenant") + @property @pulumi.getter def timeout(self) -> Optional[Any]: @@ -22103,7 +22213,7 @@ def __init__(__self__, *, """ Copy activity. :param str name: Activity name. - :param Union['AvroSinkResponse', 'AzureBlobFSSinkResponse', 'AzureDataExplorerSinkResponse', 'AzureDataLakeStoreSinkResponse', 'AzureDatabricksDeltaLakeSinkResponse', 'AzureMySqlSinkResponse', 'AzurePostgreSqlSinkResponse', 'AzureQueueSinkResponse', 'AzureSearchIndexSinkResponse', 'AzureSqlSinkResponse', 'AzureTableSinkResponse', 'BinarySinkResponse', 'BlobSinkResponse', 'CommonDataServiceForAppsSinkResponse', 'CosmosDbMongoDbApiSinkResponse', 'CosmosDbSqlApiSinkResponse', 'DelimitedTextSinkResponse', 'DocumentDbCollectionSinkResponse', 'DynamicsCrmSinkResponse', 'DynamicsSinkResponse', 'FileSystemSinkResponse', 'IcebergSinkResponse', 'InformixSinkResponse', 'JsonSinkResponse', 'LakeHouseTableSinkResponse', 'MicrosoftAccessSinkResponse', 'MongoDbAtlasSinkResponse', 'MongoDbV2SinkResponse', 'OdbcSinkResponse', 'OracleSinkResponse', 'OrcSinkResponse', 'ParquetSinkResponse', 'RestSinkResponse', 'SalesforceServiceCloudSinkResponse', 'SalesforceServiceCloudV2SinkResponse', 'SalesforceSinkResponse', 'SalesforceV2SinkResponse', 'SapCloudForCustomerSinkResponse', 'SnowflakeSinkResponse', 'SnowflakeV2SinkResponse', 'SqlDWSinkResponse', 'SqlMISinkResponse', 'SqlServerSinkResponse', 'SqlSinkResponse', 'WarehouseSinkResponse'] sink: Copy activity sink. + :param Union['AvroSinkResponse', 'AzureBlobFSSinkResponse', 'AzureDataExplorerSinkResponse', 'AzureDataLakeStoreSinkResponse', 'AzureDatabricksDeltaLakeSinkResponse', 'AzureMySqlSinkResponse', 'AzurePostgreSqlSinkResponse', 'AzureQueueSinkResponse', 'AzureSearchIndexSinkResponse', 'AzureSqlSinkResponse', 'AzureTableSinkResponse', 'BinarySinkResponse', 'BlobSinkResponse', 'CommonDataServiceForAppsSinkResponse', 'CosmosDbMongoDbApiSinkResponse', 'CosmosDbSqlApiSinkResponse', 'DelimitedTextSinkResponse', 'DocumentDbCollectionSinkResponse', 'DynamicsCrmSinkResponse', 'DynamicsSinkResponse', 'FileSystemSinkResponse', 'IcebergSinkResponse', 'InformixSinkResponse', 'JsonSinkResponse', 'LakeHouseTableSinkResponse', 'MicrosoftAccessSinkResponse', 'MongoDbAtlasSinkResponse', 'MongoDbV2SinkResponse', 'OdbcSinkResponse', 'OracleSinkResponse', 'OrcSinkResponse', 'ParquetSinkResponse', 'RestSinkResponse', 'SalesforceServiceCloudSinkResponse', 'SalesforceServiceCloudV2SinkResponse', 'SalesforceSinkResponse', 'SalesforceV2SinkResponse', 'SapCloudForCustomerSinkResponse', 'SnowflakeSinkResponse', 'SnowflakeV2SinkResponse', 'SqlDWSinkResponse', 'SqlMISinkResponse', 'SqlServerSinkResponse', 'SqlSinkResponse', 'TeradataSinkResponse', 'WarehouseSinkResponse'] sink: Copy activity sink. :param Union['AmazonMWSSourceResponse', 'AmazonRdsForOracleSourceResponse', 'AmazonRdsForSqlServerSourceResponse', 'AmazonRedshiftSourceResponse', 'AvroSourceResponse', 'AzureBlobFSSourceResponse', 'AzureDataExplorerSourceResponse', 'AzureDataLakeStoreSourceResponse', 'AzureDatabricksDeltaLakeSourceResponse', 'AzureMariaDBSourceResponse', 'AzureMySqlSourceResponse', 'AzurePostgreSqlSourceResponse', 'AzureSqlSourceResponse', 'AzureTableSourceResponse', 'BinarySourceResponse', 'BlobSourceResponse', 'CassandraSourceResponse', 'CommonDataServiceForAppsSourceResponse', 'ConcurSourceResponse', 'CosmosDbMongoDbApiSourceResponse', 'CosmosDbSqlApiSourceResponse', 'CouchbaseSourceResponse', 'Db2SourceResponse', 'DelimitedTextSourceResponse', 'DocumentDbCollectionSourceResponse', 'DrillSourceResponse', 'DynamicsAXSourceResponse', 'DynamicsCrmSourceResponse', 'DynamicsSourceResponse', 'EloquaSourceResponse', 'ExcelSourceResponse', 'FileSystemSourceResponse', 'GoogleAdWordsSourceResponse', 'GoogleBigQuerySourceResponse', 'GoogleBigQueryV2SourceResponse', 'GreenplumSourceResponse', 'HBaseSourceResponse', 'HdfsSourceResponse', 'HiveSourceResponse', 'HttpSourceResponse', 'HubspotSourceResponse', 'ImpalaSourceResponse', 'InformixSourceResponse', 'JiraSourceResponse', 'JsonSourceResponse', 'LakeHouseTableSourceResponse', 'MagentoSourceResponse', 'MariaDBSourceResponse', 'MarketoSourceResponse', 'MicrosoftAccessSourceResponse', 'MongoDbAtlasSourceResponse', 'MongoDbSourceResponse', 'MongoDbV2SourceResponse', 'MySqlSourceResponse', 'NetezzaSourceResponse', 'ODataSourceResponse', 'OdbcSourceResponse', 'Office365SourceResponse', 'OracleServiceCloudSourceResponse', 'OracleSourceResponse', 'OrcSourceResponse', 'ParquetSourceResponse', 'PaypalSourceResponse', 'PhoenixSourceResponse', 'PostgreSqlSourceResponse', 'PostgreSqlV2SourceResponse', 'PrestoSourceResponse', 'QuickBooksSourceResponse', 'RelationalSourceResponse', 'ResponsysSourceResponse', 'RestSourceResponse', 'SalesforceMarketingCloudSourceResponse', 'SalesforceServiceCloudSourceResponse', 'SalesforceServiceCloudV2SourceResponse', 'SalesforceSourceResponse', 'SalesforceV2SourceResponse', 'SapBwSourceResponse', 'SapCloudForCustomerSourceResponse', 'SapEccSourceResponse', 'SapHanaSourceResponse', 'SapOdpSourceResponse', 'SapOpenHubSourceResponse', 'SapTableSourceResponse', 'ServiceNowSourceResponse', 'ServiceNowV2SourceResponse', 'SharePointOnlineListSourceResponse', 'ShopifySourceResponse', 'SnowflakeSourceResponse', 'SnowflakeV2SourceResponse', 'SparkSourceResponse', 'SqlDWSourceResponse', 'SqlMISourceResponse', 'SqlServerSourceResponse', 'SqlSourceResponse', 'SquareSourceResponse', 'SybaseSourceResponse', 'TabularSourceResponse', 'TeradataSourceResponse', 'VerticaSourceResponse', 'WarehouseSourceResponse', 'WebSourceResponse', 'XeroSourceResponse', 'XmlSourceResponse', 'ZohoSourceResponse'] source: Copy activity source. :param str type: Type of activity. Expected value is 'Copy'. @@ -57108,17 +57218,41 @@ def wildcard_folder_path(self) -> Optional[Any]: @pulumi.output_type class OracleLinkedServiceResponse(dict): """ - Oracle database. + Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. """ @staticmethod def __key_warning(key: str): suggest = None if key == "connectionString": suggest = "connection_string" + elif key == "authenticationType": + suggest = "authentication_type" elif key == "connectVia": suggest = "connect_via" + elif key == "cryptoChecksumClient": + suggest = "crypto_checksum_client" + elif key == "cryptoChecksumTypesClient": + suggest = "crypto_checksum_types_client" + elif key == "enableBulkLoad": + suggest = "enable_bulk_load" elif key == "encryptedCredential": suggest = "encrypted_credential" + elif key == "encryptionClient": + suggest = "encryption_client" + elif key == "encryptionTypesClient": + suggest = "encryption_types_client" + elif key == "fetchSize": + suggest = "fetch_size" + elif key == "fetchTswtzAsTimestamp": + suggest = "fetch_tswtz_as_timestamp" + elif key == "initialLobFetchSize": + suggest = "initial_lob_fetch_size" + elif key == "initializationString": + suggest = "initialization_string" + elif key == "statementCacheSize": + suggest = "statement_cache_size" + elif key == "supportV1DataTypes": + suggest = "support_v1_data_types" if suggest: pulumi.log.warn(f"Key '{key}' not found in OracleLinkedServiceResponse. Access the value via the '{suggest}' property getter instead.") @@ -57135,39 +57269,95 @@ def __init__(__self__, *, connection_string: Any, type: str, annotations: Optional[Sequence[Any]] = None, + authentication_type: Optional[str] = None, connect_via: Optional['outputs.IntegrationRuntimeReferenceResponse'] = None, + crypto_checksum_client: Optional[Any] = None, + crypto_checksum_types_client: Optional[Any] = None, description: Optional[str] = None, + enable_bulk_load: Optional[Any] = None, encrypted_credential: Optional[str] = None, + encryption_client: Optional[Any] = None, + encryption_types_client: Optional[Any] = None, + fetch_size: Optional[Any] = None, + fetch_tswtz_as_timestamp: Optional[Any] = None, + initial_lob_fetch_size: Optional[Any] = None, + initialization_string: Optional[Any] = None, parameters: Optional[Mapping[str, 'outputs.ParameterSpecificationResponse']] = None, password: Optional['outputs.AzureKeyVaultSecretReferenceResponse'] = None, + server: Optional[Any] = None, + statement_cache_size: Optional[Any] = None, + support_v1_data_types: Optional[Any] = None, + username: Optional[Any] = None, version: Optional[str] = None): """ - Oracle database. - :param Any connection_string: The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. + :param Any connection_string: The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. :param str type: Type of linked service. Expected value is 'Oracle'. :param Sequence[Any] annotations: List of tags that can be used for describing the linked service. + :param str authentication_type: Authentication type for connecting to the Oracle database. Only used for Version 2.0. :param 'IntegrationRuntimeReferenceResponse' connect_via: The integration runtime reference. + :param Any crypto_checksum_client: Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + :param Any crypto_checksum_types_client: Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. :param str description: Linked service description. + :param Any enable_bulk_load: Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. :param str encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. + :param Any encryption_client: Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + :param Any encryption_types_client: Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + :param Any fetch_size: Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + :param Any fetch_tswtz_as_timestamp: Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + :param Any initial_lob_fetch_size: Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + :param Any initialization_string: Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. :param Mapping[str, 'ParameterSpecificationResponse'] parameters: Parameters for linked service. :param 'AzureKeyVaultSecretReferenceResponse' password: The Azure key vault secret reference of password in connection string. + :param Any server: The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + :param Any statement_cache_size: Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + :param Any support_v1_data_types: Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + :param Any username: The Oracle database username. Type: string. Only used for Version 2.0. :param str version: Version of the linked service. """ pulumi.set(__self__, "connection_string", connection_string) pulumi.set(__self__, "type", 'Oracle') if annotations is not None: pulumi.set(__self__, "annotations", annotations) + if authentication_type is not None: + pulumi.set(__self__, "authentication_type", authentication_type) if connect_via is not None: pulumi.set(__self__, "connect_via", connect_via) + if crypto_checksum_client is not None: + pulumi.set(__self__, "crypto_checksum_client", crypto_checksum_client) + if crypto_checksum_types_client is not None: + pulumi.set(__self__, "crypto_checksum_types_client", crypto_checksum_types_client) if description is not None: pulumi.set(__self__, "description", description) + if enable_bulk_load is not None: + pulumi.set(__self__, "enable_bulk_load", enable_bulk_load) if encrypted_credential is not None: pulumi.set(__self__, "encrypted_credential", encrypted_credential) + if encryption_client is not None: + pulumi.set(__self__, "encryption_client", encryption_client) + if encryption_types_client is not None: + pulumi.set(__self__, "encryption_types_client", encryption_types_client) + if fetch_size is not None: + pulumi.set(__self__, "fetch_size", fetch_size) + if fetch_tswtz_as_timestamp is not None: + pulumi.set(__self__, "fetch_tswtz_as_timestamp", fetch_tswtz_as_timestamp) + if initial_lob_fetch_size is not None: + pulumi.set(__self__, "initial_lob_fetch_size", initial_lob_fetch_size) + if initialization_string is not None: + pulumi.set(__self__, "initialization_string", initialization_string) if parameters is not None: pulumi.set(__self__, "parameters", parameters) if password is not None: pulumi.set(__self__, "password", password) + if server is not None: + pulumi.set(__self__, "server", server) + if statement_cache_size is not None: + pulumi.set(__self__, "statement_cache_size", statement_cache_size) + if support_v1_data_types is not None: + pulumi.set(__self__, "support_v1_data_types", support_v1_data_types) + if username is not None: + pulumi.set(__self__, "username", username) if version is not None: pulumi.set(__self__, "version", version) @@ -57175,7 +57365,7 @@ def __init__(__self__, *, @pulumi.getter(name="connectionString") def connection_string(self) -> Any: """ - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. """ return pulumi.get(self, "connection_string") @@ -57196,6 +57386,14 @@ def annotations(self) -> Optional[Sequence[Any]]: """ return pulumi.get(self, "annotations") + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> Optional[str]: + """ + Authentication type for connecting to the Oracle database. Only used for Version 2.0. + """ + return pulumi.get(self, "authentication_type") + @property @pulumi.getter(name="connectVia") def connect_via(self) -> Optional['outputs.IntegrationRuntimeReferenceResponse']: @@ -57204,6 +57402,22 @@ def connect_via(self) -> Optional['outputs.IntegrationRuntimeReferenceResponse'] """ return pulumi.get(self, "connect_via") + @property + @pulumi.getter(name="cryptoChecksumClient") + def crypto_checksum_client(self) -> Optional[Any]: + """ + Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "crypto_checksum_client") + + @property + @pulumi.getter(name="cryptoChecksumTypesClient") + def crypto_checksum_types_client(self) -> Optional[Any]: + """ + Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "crypto_checksum_types_client") + @property @pulumi.getter def description(self) -> Optional[str]: @@ -57212,6 +57426,14 @@ def description(self) -> Optional[str]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="enableBulkLoad") + def enable_bulk_load(self) -> Optional[Any]: + """ + Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + """ + return pulumi.get(self, "enable_bulk_load") + @property @pulumi.getter(name="encryptedCredential") def encrypted_credential(self) -> Optional[str]: @@ -57220,6 +57442,54 @@ def encrypted_credential(self) -> Optional[str]: """ return pulumi.get(self, "encrypted_credential") + @property + @pulumi.getter(name="encryptionClient") + def encryption_client(self) -> Optional[Any]: + """ + Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "encryption_client") + + @property + @pulumi.getter(name="encryptionTypesClient") + def encryption_types_client(self) -> Optional[Any]: + """ + Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "encryption_types_client") + + @property + @pulumi.getter(name="fetchSize") + def fetch_size(self) -> Optional[Any]: + """ + Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + """ + return pulumi.get(self, "fetch_size") + + @property + @pulumi.getter(name="fetchTswtzAsTimestamp") + def fetch_tswtz_as_timestamp(self) -> Optional[Any]: + """ + Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + """ + return pulumi.get(self, "fetch_tswtz_as_timestamp") + + @property + @pulumi.getter(name="initialLobFetchSize") + def initial_lob_fetch_size(self) -> Optional[Any]: + """ + Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + """ + return pulumi.get(self, "initial_lob_fetch_size") + + @property + @pulumi.getter(name="initializationString") + def initialization_string(self) -> Optional[Any]: + """ + Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "initialization_string") + @property @pulumi.getter def parameters(self) -> Optional[Mapping[str, 'outputs.ParameterSpecificationResponse']]: @@ -57236,6 +57506,38 @@ def password(self) -> Optional['outputs.AzureKeyVaultSecretReferenceResponse']: """ return pulumi.get(self, "password") + @property + @pulumi.getter + def server(self) -> Optional[Any]: + """ + The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "server") + + @property + @pulumi.getter(name="statementCacheSize") + def statement_cache_size(self) -> Optional[Any]: + """ + Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + """ + return pulumi.get(self, "statement_cache_size") + + @property + @pulumi.getter(name="supportV1DataTypes") + def support_v1_data_types(self) -> Optional[Any]: + """ + Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + """ + return pulumi.get(self, "support_v1_data_types") + + @property + @pulumi.getter + def username(self) -> Optional[Any]: + """ + The Oracle database username. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "username") + @property @pulumi.getter def version(self) -> Optional[str]: @@ -85466,6 +85768,59 @@ def version(self) -> Optional[str]: return pulumi.get(self, "version") +@pulumi.output_type +class TeradataImportCommandResponse(dict): + """ + Teradata import command settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "additionalFormatOptions": + suggest = "additional_format_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TeradataImportCommandResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TeradataImportCommandResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TeradataImportCommandResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + additional_format_options: Optional[Any] = None): + """ + Teradata import command settings. + :param str type: The import setting type. + Expected value is 'TeradataImportCommand'. + :param Any additional_format_options: Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + """ + pulumi.set(__self__, "type", 'TeradataImportCommand') + if additional_format_options is not None: + pulumi.set(__self__, "additional_format_options", additional_format_options) + + @property + @pulumi.getter + def type(self) -> str: + """ + The import setting type. + Expected value is 'TeradataImportCommand'. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="additionalFormatOptions") + def additional_format_options(self) -> Optional[Any]: + """ + Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + """ + return pulumi.get(self, "additional_format_options") + + @pulumi.output_type class TeradataLinkedServiceResponse(dict): """ @@ -85476,12 +85831,24 @@ def __key_warning(key: str): suggest = None if key == "authenticationType": suggest = "authentication_type" + elif key == "characterSet": + suggest = "character_set" elif key == "connectVia": suggest = "connect_via" elif key == "connectionString": suggest = "connection_string" elif key == "encryptedCredential": suggest = "encrypted_credential" + elif key == "httpsPortNumber": + suggest = "https_port_number" + elif key == "maxRespSize": + suggest = "max_resp_size" + elif key == "portNumber": + suggest = "port_number" + elif key == "sslMode": + suggest = "ssl_mode" + elif key == "useDataEncryption": + suggest = "use_data_encryption" if suggest: pulumi.log.warn(f"Key '{key}' not found in TeradataLinkedServiceResponse. Access the value via the '{suggest}' property getter instead.") @@ -85498,13 +85865,19 @@ def __init__(__self__, *, type: str, annotations: Optional[Sequence[Any]] = None, authentication_type: Optional[str] = None, + character_set: Optional[Any] = None, connect_via: Optional['outputs.IntegrationRuntimeReferenceResponse'] = None, connection_string: Optional[Any] = None, description: Optional[str] = None, encrypted_credential: Optional[str] = None, + https_port_number: Optional[Any] = None, + max_resp_size: Optional[Any] = None, parameters: Optional[Mapping[str, 'outputs.ParameterSpecificationResponse']] = None, password: Optional[Any] = None, + port_number: Optional[Any] = None, server: Optional[Any] = None, + ssl_mode: Optional[Any] = None, + use_data_encryption: Optional[Any] = None, username: Optional[Any] = None, version: Optional[str] = None): """ @@ -85513,13 +85886,19 @@ def __init__(__self__, *, Expected value is 'Teradata'. :param Sequence[Any] annotations: List of tags that can be used for describing the linked service. :param str authentication_type: AuthenticationType to be used for connection. + :param Any character_set: The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. :param 'IntegrationRuntimeReferenceResponse' connect_via: The integration runtime reference. - :param Any connection_string: Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + :param Any connection_string: Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. :param str description: Linked service description. :param str encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. + :param Any https_port_number: The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + :param Any max_resp_size: The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. :param Mapping[str, 'ParameterSpecificationResponse'] parameters: Parameters for linked service. :param Union['AzureKeyVaultSecretReferenceResponse', 'SecureStringResponse'] password: Password for authentication. + :param Any port_number: The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. :param Any server: Server name for connection. Type: string (or Expression with resultType string). + :param Any ssl_mode: SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + :param Any use_data_encryption: Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. :param Any username: Username for authentication. Type: string (or Expression with resultType string). :param str version: Version of the linked service. """ @@ -85528,6 +85907,8 @@ def __init__(__self__, *, pulumi.set(__self__, "annotations", annotations) if authentication_type is not None: pulumi.set(__self__, "authentication_type", authentication_type) + if character_set is not None: + pulumi.set(__self__, "character_set", character_set) if connect_via is not None: pulumi.set(__self__, "connect_via", connect_via) if connection_string is not None: @@ -85536,12 +85917,22 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if encrypted_credential is not None: pulumi.set(__self__, "encrypted_credential", encrypted_credential) + if https_port_number is not None: + pulumi.set(__self__, "https_port_number", https_port_number) + if max_resp_size is not None: + pulumi.set(__self__, "max_resp_size", max_resp_size) if parameters is not None: pulumi.set(__self__, "parameters", parameters) if password is not None: pulumi.set(__self__, "password", password) + if port_number is not None: + pulumi.set(__self__, "port_number", port_number) if server is not None: pulumi.set(__self__, "server", server) + if ssl_mode is not None: + pulumi.set(__self__, "ssl_mode", ssl_mode) + if use_data_encryption is not None: + pulumi.set(__self__, "use_data_encryption", use_data_encryption) if username is not None: pulumi.set(__self__, "username", username) if version is not None: @@ -85572,6 +85963,14 @@ def authentication_type(self) -> Optional[str]: """ return pulumi.get(self, "authentication_type") + @property + @pulumi.getter(name="characterSet") + def character_set(self) -> Optional[Any]: + """ + The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + """ + return pulumi.get(self, "character_set") + @property @pulumi.getter(name="connectVia") def connect_via(self) -> Optional['outputs.IntegrationRuntimeReferenceResponse']: @@ -85584,7 +85983,7 @@ def connect_via(self) -> Optional['outputs.IntegrationRuntimeReferenceResponse'] @pulumi.getter(name="connectionString") def connection_string(self) -> Optional[Any]: """ - Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. """ return pulumi.get(self, "connection_string") @@ -85604,6 +86003,22 @@ def encrypted_credential(self) -> Optional[str]: """ return pulumi.get(self, "encrypted_credential") + @property + @pulumi.getter(name="httpsPortNumber") + def https_port_number(self) -> Optional[Any]: + """ + The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + """ + return pulumi.get(self, "https_port_number") + + @property + @pulumi.getter(name="maxRespSize") + def max_resp_size(self) -> Optional[Any]: + """ + The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + """ + return pulumi.get(self, "max_resp_size") + @property @pulumi.getter def parameters(self) -> Optional[Mapping[str, 'outputs.ParameterSpecificationResponse']]: @@ -85620,6 +86035,14 @@ def password(self) -> Optional[Any]: """ return pulumi.get(self, "password") + @property + @pulumi.getter(name="portNumber") + def port_number(self) -> Optional[Any]: + """ + The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + """ + return pulumi.get(self, "port_number") + @property @pulumi.getter def server(self) -> Optional[Any]: @@ -85628,6 +86051,22 @@ def server(self) -> Optional[Any]: """ return pulumi.get(self, "server") + @property + @pulumi.getter(name="sslMode") + def ssl_mode(self) -> Optional[Any]: + """ + SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + """ + return pulumi.get(self, "ssl_mode") + + @property + @pulumi.getter(name="useDataEncryption") + def use_data_encryption(self) -> Optional[Any]: + """ + Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + """ + return pulumi.get(self, "use_data_encryption") + @property @pulumi.getter def username(self) -> Optional[Any]: @@ -85713,6 +86152,143 @@ def partition_upper_bound(self) -> Optional[Any]: return pulumi.get(self, "partition_upper_bound") +@pulumi.output_type +class TeradataSinkResponse(dict): + """ + A copy activity Teradata sink. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "disableMetricsCollection": + suggest = "disable_metrics_collection" + elif key == "importSettings": + suggest = "import_settings" + elif key == "maxConcurrentConnections": + suggest = "max_concurrent_connections" + elif key == "sinkRetryCount": + suggest = "sink_retry_count" + elif key == "sinkRetryWait": + suggest = "sink_retry_wait" + elif key == "writeBatchSize": + suggest = "write_batch_size" + elif key == "writeBatchTimeout": + suggest = "write_batch_timeout" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TeradataSinkResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TeradataSinkResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TeradataSinkResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + disable_metrics_collection: Optional[Any] = None, + import_settings: Optional['outputs.TeradataImportCommandResponse'] = None, + max_concurrent_connections: Optional[Any] = None, + sink_retry_count: Optional[Any] = None, + sink_retry_wait: Optional[Any] = None, + write_batch_size: Optional[Any] = None, + write_batch_timeout: Optional[Any] = None): + """ + A copy activity Teradata sink. + :param str type: Copy sink type. + Expected value is 'TeradataSink'. + :param Any disable_metrics_collection: If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + :param 'TeradataImportCommandResponse' import_settings: Teradata import settings. + :param Any max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + :param Any sink_retry_count: Sink retry count. Type: integer (or Expression with resultType integer). + :param Any sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :param Any write_batch_size: Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + :param Any write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + pulumi.set(__self__, "type", 'TeradataSink') + if disable_metrics_collection is not None: + pulumi.set(__self__, "disable_metrics_collection", disable_metrics_collection) + if import_settings is not None: + pulumi.set(__self__, "import_settings", import_settings) + if max_concurrent_connections is not None: + pulumi.set(__self__, "max_concurrent_connections", max_concurrent_connections) + if sink_retry_count is not None: + pulumi.set(__self__, "sink_retry_count", sink_retry_count) + if sink_retry_wait is not None: + pulumi.set(__self__, "sink_retry_wait", sink_retry_wait) + if write_batch_size is not None: + pulumi.set(__self__, "write_batch_size", write_batch_size) + if write_batch_timeout is not None: + pulumi.set(__self__, "write_batch_timeout", write_batch_timeout) + + @property + @pulumi.getter + def type(self) -> str: + """ + Copy sink type. + Expected value is 'TeradataSink'. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="disableMetricsCollection") + def disable_metrics_collection(self) -> Optional[Any]: + """ + If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + """ + return pulumi.get(self, "disable_metrics_collection") + + @property + @pulumi.getter(name="importSettings") + def import_settings(self) -> Optional['outputs.TeradataImportCommandResponse']: + """ + Teradata import settings. + """ + return pulumi.get(self, "import_settings") + + @property + @pulumi.getter(name="maxConcurrentConnections") + def max_concurrent_connections(self) -> Optional[Any]: + """ + The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + """ + return pulumi.get(self, "max_concurrent_connections") + + @property + @pulumi.getter(name="sinkRetryCount") + def sink_retry_count(self) -> Optional[Any]: + """ + Sink retry count. Type: integer (or Expression with resultType integer). + """ + return pulumi.get(self, "sink_retry_count") + + @property + @pulumi.getter(name="sinkRetryWait") + def sink_retry_wait(self) -> Optional[Any]: + """ + Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + return pulumi.get(self, "sink_retry_wait") + + @property + @pulumi.getter(name="writeBatchSize") + def write_batch_size(self) -> Optional[Any]: + """ + Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + """ + return pulumi.get(self, "write_batch_size") + + @property + @pulumi.getter(name="writeBatchTimeout") + def write_batch_timeout(self) -> Optional[Any]: + """ + Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + return pulumi.get(self, "write_batch_timeout") + + @pulumi.output_type class TeradataSourceResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/datafactory/v20180601/_enums.py b/sdk/python/pulumi_azure_native/datafactory/v20180601/_enums.py index 4ef238668cfe..88abb92fd949 100644 --- a/sdk/python/pulumi_azure_native/datafactory/v20180601/_enums.py +++ b/sdk/python/pulumi_azure_native/datafactory/v20180601/_enums.py @@ -56,6 +56,7 @@ 'NotebookReferenceType', 'ODataAadServicePrincipalCredentialType', 'ODataAuthenticationType', + 'OracleAuthenticationType', 'ParameterType', 'PhoenixAuthenticationType', 'PolybaseSettingsRejectType', @@ -550,6 +551,13 @@ class ODataAuthenticationType(str, Enum): MANAGED_SERVICE_IDENTITY = "ManagedServiceIdentity" +class OracleAuthenticationType(str, Enum): + """ + Authentication type for connecting to the Oracle database. Only used for Version 2.0. + """ + BASIC = "Basic" + + class ParameterType(str, Enum): """ Parameter type. diff --git a/sdk/python/pulumi_azure_native/datafactory/v20180601/_inputs.py b/sdk/python/pulumi_azure_native/datafactory/v20180601/_inputs.py index 728b97eefe8e..3b47a23c8cdf 100644 --- a/sdk/python/pulumi_azure_native/datafactory/v20180601/_inputs.py +++ b/sdk/python/pulumi_azure_native/datafactory/v20180601/_inputs.py @@ -1174,10 +1174,14 @@ 'TarReadSettingsArgsDict', 'TeamDeskLinkedServiceArgs', 'TeamDeskLinkedServiceArgsDict', + 'TeradataImportCommandArgs', + 'TeradataImportCommandArgsDict', 'TeradataLinkedServiceArgs', 'TeradataLinkedServiceArgsDict', 'TeradataPartitionSettingsArgs', 'TeradataPartitionSettingsArgsDict', + 'TeradataSinkArgs', + 'TeradataSinkArgsDict', 'TeradataSourceArgs', 'TeradataSourceArgsDict', 'TeradataTableDatasetArgs', @@ -19592,6 +19596,10 @@ class AzurePostgreSqlLinkedServiceArgsDict(TypedDict): """ List of tags that can be used for describing the linked service. """ + azure_cloud_type: NotRequired[Any] + """ + Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + """ command_timeout: NotRequired[Any] """ The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. @@ -19604,6 +19612,10 @@ class AzurePostgreSqlLinkedServiceArgsDict(TypedDict): """ An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. """ + credential: NotRequired[pulumi.Input['CredentialReferenceArgsDict']] + """ + The credential reference containing authentication information. + """ database: NotRequired[Any] """ Database name for connection. Type: string. @@ -19640,10 +19652,34 @@ class AzurePostgreSqlLinkedServiceArgsDict(TypedDict): """ Server name for connection. Type: string. """ + service_principal_credential_type: NotRequired[Any] + """ + The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + """ + service_principal_embedded_cert: NotRequired[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgsDict', 'SecureStringArgsDict']]] + """ + Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + """ + service_principal_embedded_cert_password: NotRequired[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgsDict', 'SecureStringArgsDict']]] + """ + Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + """ + service_principal_id: NotRequired[Any] + """ + The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + """ + service_principal_key: NotRequired[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgsDict', 'SecureStringArgsDict']]] + """ + The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + """ ssl_mode: NotRequired[Any] """ SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. """ + tenant: NotRequired[Any] + """ + The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + """ timeout: NotRequired[Any] """ The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. @@ -19672,9 +19708,11 @@ class AzurePostgreSqlLinkedServiceArgs: def __init__(__self__, *, type: pulumi.Input[str], annotations: Optional[pulumi.Input[Sequence[Any]]] = None, + azure_cloud_type: Optional[Any] = None, command_timeout: Optional[Any] = None, connect_via: Optional[pulumi.Input['IntegrationRuntimeReferenceArgs']] = None, connection_string: Optional[Any] = None, + credential: Optional[pulumi.Input['CredentialReferenceArgs']] = None, database: Optional[Any] = None, description: Optional[pulumi.Input[str]] = None, encoding: Optional[Any] = None, @@ -19684,7 +19722,13 @@ def __init__(__self__, *, port: Optional[Any] = None, read_buffer_size: Optional[Any] = None, server: Optional[Any] = None, + service_principal_credential_type: Optional[Any] = None, + service_principal_embedded_cert: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]] = None, + service_principal_embedded_cert_password: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]] = None, + service_principal_id: Optional[Any] = None, + service_principal_key: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]] = None, ssl_mode: Optional[Any] = None, + tenant: Optional[Any] = None, timeout: Optional[Any] = None, timezone: Optional[Any] = None, trust_server_certificate: Optional[Any] = None, @@ -19695,9 +19739,11 @@ def __init__(__self__, *, :param pulumi.Input[str] type: Type of linked service. Expected value is 'AzurePostgreSql'. :param pulumi.Input[Sequence[Any]] annotations: List of tags that can be used for describing the linked service. + :param Any azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). :param Any command_timeout: The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. :param pulumi.Input['IntegrationRuntimeReferenceArgs'] connect_via: The integration runtime reference. :param Any connection_string: An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + :param pulumi.Input['CredentialReferenceArgs'] credential: The credential reference containing authentication information. :param Any database: Database name for connection. Type: string. :param pulumi.Input[str] description: Linked service description. :param Any encoding: Gets or sets the .NET encoding that will be used to encode/decode PostgreSQL string data. Type: string @@ -19707,7 +19753,13 @@ def __init__(__self__, *, :param Any port: The port for the connection. Type: integer. :param Any read_buffer_size: Determines the size of the internal buffer uses when reading. Increasing may improve performance if transferring large values from the database. Type: integer. :param Any server: Server name for connection. Type: string. + :param Any service_principal_credential_type: The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + :param pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']] service_principal_embedded_cert: Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + :param pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']] service_principal_embedded_cert_password: Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + :param Any service_principal_id: The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + :param pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']] service_principal_key: The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. :param Any ssl_mode: SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. + :param Any tenant: The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). :param Any timeout: The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. :param Any timezone: Gets or sets the session timezone. Type: string. :param Any trust_server_certificate: Whether to trust the server certificate without validating it. Type: boolean. @@ -19717,12 +19769,16 @@ def __init__(__self__, *, pulumi.set(__self__, "type", 'AzurePostgreSql') if annotations is not None: pulumi.set(__self__, "annotations", annotations) + if azure_cloud_type is not None: + pulumi.set(__self__, "azure_cloud_type", azure_cloud_type) if command_timeout is not None: pulumi.set(__self__, "command_timeout", command_timeout) if connect_via is not None: pulumi.set(__self__, "connect_via", connect_via) if connection_string is not None: pulumi.set(__self__, "connection_string", connection_string) + if credential is not None: + pulumi.set(__self__, "credential", credential) if database is not None: pulumi.set(__self__, "database", database) if description is not None: @@ -19741,8 +19797,20 @@ def __init__(__self__, *, pulumi.set(__self__, "read_buffer_size", read_buffer_size) if server is not None: pulumi.set(__self__, "server", server) + if service_principal_credential_type is not None: + pulumi.set(__self__, "service_principal_credential_type", service_principal_credential_type) + if service_principal_embedded_cert is not None: + pulumi.set(__self__, "service_principal_embedded_cert", service_principal_embedded_cert) + if service_principal_embedded_cert_password is not None: + pulumi.set(__self__, "service_principal_embedded_cert_password", service_principal_embedded_cert_password) + if service_principal_id is not None: + pulumi.set(__self__, "service_principal_id", service_principal_id) + if service_principal_key is not None: + pulumi.set(__self__, "service_principal_key", service_principal_key) if ssl_mode is not None: pulumi.set(__self__, "ssl_mode", ssl_mode) + if tenant is not None: + pulumi.set(__self__, "tenant", tenant) if timeout is not None: pulumi.set(__self__, "timeout", timeout) if timezone is not None: @@ -19779,6 +19847,18 @@ def annotations(self) -> Optional[pulumi.Input[Sequence[Any]]]: def annotations(self, value: Optional[pulumi.Input[Sequence[Any]]]): pulumi.set(self, "annotations", value) + @property + @pulumi.getter(name="azureCloudType") + def azure_cloud_type(self) -> Optional[Any]: + """ + Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "azure_cloud_type") + + @azure_cloud_type.setter + def azure_cloud_type(self, value: Optional[Any]): + pulumi.set(self, "azure_cloud_type", value) + @property @pulumi.getter(name="commandTimeout") def command_timeout(self) -> Optional[Any]: @@ -19815,6 +19895,18 @@ def connection_string(self) -> Optional[Any]: def connection_string(self, value: Optional[Any]): pulumi.set(self, "connection_string", value) + @property + @pulumi.getter + def credential(self) -> Optional[pulumi.Input['CredentialReferenceArgs']]: + """ + The credential reference containing authentication information. + """ + return pulumi.get(self, "credential") + + @credential.setter + def credential(self, value: Optional[pulumi.Input['CredentialReferenceArgs']]): + pulumi.set(self, "credential", value) + @property @pulumi.getter def database(self) -> Optional[Any]: @@ -19923,6 +20015,66 @@ def server(self) -> Optional[Any]: def server(self, value: Optional[Any]): pulumi.set(self, "server", value) + @property + @pulumi.getter(name="servicePrincipalCredentialType") + def service_principal_credential_type(self) -> Optional[Any]: + """ + The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_credential_type") + + @service_principal_credential_type.setter + def service_principal_credential_type(self, value: Optional[Any]): + pulumi.set(self, "service_principal_credential_type", value) + + @property + @pulumi.getter(name="servicePrincipalEmbeddedCert") + def service_principal_embedded_cert(self) -> Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]: + """ + Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_embedded_cert") + + @service_principal_embedded_cert.setter + def service_principal_embedded_cert(self, value: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]): + pulumi.set(self, "service_principal_embedded_cert", value) + + @property + @pulumi.getter(name="servicePrincipalEmbeddedCertPassword") + def service_principal_embedded_cert_password(self) -> Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]: + """ + Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_embedded_cert_password") + + @service_principal_embedded_cert_password.setter + def service_principal_embedded_cert_password(self, value: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]): + pulumi.set(self, "service_principal_embedded_cert_password", value) + + @property + @pulumi.getter(name="servicePrincipalId") + def service_principal_id(self) -> Optional[Any]: + """ + The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_id") + + @service_principal_id.setter + def service_principal_id(self, value: Optional[Any]): + pulumi.set(self, "service_principal_id", value) + + @property + @pulumi.getter(name="servicePrincipalKey") + def service_principal_key(self) -> Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]: + """ + The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + """ + return pulumi.get(self, "service_principal_key") + + @service_principal_key.setter + def service_principal_key(self, value: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]): + pulumi.set(self, "service_principal_key", value) + @property @pulumi.getter(name="sslMode") def ssl_mode(self) -> Optional[Any]: @@ -19935,6 +20087,18 @@ def ssl_mode(self) -> Optional[Any]: def ssl_mode(self, value: Optional[Any]): pulumi.set(self, "ssl_mode", value) + @property + @pulumi.getter + def tenant(self) -> Optional[Any]: + """ + The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "tenant") + + @tenant.setter + def tenant(self, value: Optional[Any]): + pulumi.set(self, "tenant", value) + @property @pulumi.getter def timeout(self) -> Optional[Any]: @@ -30683,7 +30847,7 @@ class CopyActivityArgsDict(TypedDict): """ Activity name. """ - sink: pulumi.Input[Union['AvroSinkArgsDict', 'AzureBlobFSSinkArgsDict', 'AzureDataExplorerSinkArgsDict', 'AzureDataLakeStoreSinkArgsDict', 'AzureDatabricksDeltaLakeSinkArgsDict', 'AzureMySqlSinkArgsDict', 'AzurePostgreSqlSinkArgsDict', 'AzureQueueSinkArgsDict', 'AzureSearchIndexSinkArgsDict', 'AzureSqlSinkArgsDict', 'AzureTableSinkArgsDict', 'BinarySinkArgsDict', 'BlobSinkArgsDict', 'CommonDataServiceForAppsSinkArgsDict', 'CosmosDbMongoDbApiSinkArgsDict', 'CosmosDbSqlApiSinkArgsDict', 'DelimitedTextSinkArgsDict', 'DocumentDbCollectionSinkArgsDict', 'DynamicsCrmSinkArgsDict', 'DynamicsSinkArgsDict', 'FileSystemSinkArgsDict', 'IcebergSinkArgsDict', 'InformixSinkArgsDict', 'JsonSinkArgsDict', 'LakeHouseTableSinkArgsDict', 'MicrosoftAccessSinkArgsDict', 'MongoDbAtlasSinkArgsDict', 'MongoDbV2SinkArgsDict', 'OdbcSinkArgsDict', 'OracleSinkArgsDict', 'OrcSinkArgsDict', 'ParquetSinkArgsDict', 'RestSinkArgsDict', 'SalesforceServiceCloudSinkArgsDict', 'SalesforceServiceCloudV2SinkArgsDict', 'SalesforceSinkArgsDict', 'SalesforceV2SinkArgsDict', 'SapCloudForCustomerSinkArgsDict', 'SnowflakeSinkArgsDict', 'SnowflakeV2SinkArgsDict', 'SqlDWSinkArgsDict', 'SqlMISinkArgsDict', 'SqlServerSinkArgsDict', 'SqlSinkArgsDict', 'WarehouseSinkArgsDict']] + sink: pulumi.Input[Union['AvroSinkArgsDict', 'AzureBlobFSSinkArgsDict', 'AzureDataExplorerSinkArgsDict', 'AzureDataLakeStoreSinkArgsDict', 'AzureDatabricksDeltaLakeSinkArgsDict', 'AzureMySqlSinkArgsDict', 'AzurePostgreSqlSinkArgsDict', 'AzureQueueSinkArgsDict', 'AzureSearchIndexSinkArgsDict', 'AzureSqlSinkArgsDict', 'AzureTableSinkArgsDict', 'BinarySinkArgsDict', 'BlobSinkArgsDict', 'CommonDataServiceForAppsSinkArgsDict', 'CosmosDbMongoDbApiSinkArgsDict', 'CosmosDbSqlApiSinkArgsDict', 'DelimitedTextSinkArgsDict', 'DocumentDbCollectionSinkArgsDict', 'DynamicsCrmSinkArgsDict', 'DynamicsSinkArgsDict', 'FileSystemSinkArgsDict', 'IcebergSinkArgsDict', 'InformixSinkArgsDict', 'JsonSinkArgsDict', 'LakeHouseTableSinkArgsDict', 'MicrosoftAccessSinkArgsDict', 'MongoDbAtlasSinkArgsDict', 'MongoDbV2SinkArgsDict', 'OdbcSinkArgsDict', 'OracleSinkArgsDict', 'OrcSinkArgsDict', 'ParquetSinkArgsDict', 'RestSinkArgsDict', 'SalesforceServiceCloudSinkArgsDict', 'SalesforceServiceCloudV2SinkArgsDict', 'SalesforceSinkArgsDict', 'SalesforceV2SinkArgsDict', 'SapCloudForCustomerSinkArgsDict', 'SnowflakeSinkArgsDict', 'SnowflakeV2SinkArgsDict', 'SqlDWSinkArgsDict', 'SqlMISinkArgsDict', 'SqlServerSinkArgsDict', 'SqlSinkArgsDict', 'TeradataSinkArgsDict', 'WarehouseSinkArgsDict']] """ Copy activity sink. """ @@ -30791,7 +30955,7 @@ class CopyActivityArgsDict(TypedDict): class CopyActivityArgs: def __init__(__self__, *, name: pulumi.Input[str], - sink: pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'WarehouseSinkArgs']], + sink: pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'TeradataSinkArgs', 'WarehouseSinkArgs']], source: pulumi.Input[Union['AmazonMWSSourceArgs', 'AmazonRdsForOracleSourceArgs', 'AmazonRdsForSqlServerSourceArgs', 'AmazonRedshiftSourceArgs', 'AvroSourceArgs', 'AzureBlobFSSourceArgs', 'AzureDataExplorerSourceArgs', 'AzureDataLakeStoreSourceArgs', 'AzureDatabricksDeltaLakeSourceArgs', 'AzureMariaDBSourceArgs', 'AzureMySqlSourceArgs', 'AzurePostgreSqlSourceArgs', 'AzureSqlSourceArgs', 'AzureTableSourceArgs', 'BinarySourceArgs', 'BlobSourceArgs', 'CassandraSourceArgs', 'CommonDataServiceForAppsSourceArgs', 'ConcurSourceArgs', 'CosmosDbMongoDbApiSourceArgs', 'CosmosDbSqlApiSourceArgs', 'CouchbaseSourceArgs', 'Db2SourceArgs', 'DelimitedTextSourceArgs', 'DocumentDbCollectionSourceArgs', 'DrillSourceArgs', 'DynamicsAXSourceArgs', 'DynamicsCrmSourceArgs', 'DynamicsSourceArgs', 'EloquaSourceArgs', 'ExcelSourceArgs', 'FileSystemSourceArgs', 'GoogleAdWordsSourceArgs', 'GoogleBigQuerySourceArgs', 'GoogleBigQueryV2SourceArgs', 'GreenplumSourceArgs', 'HBaseSourceArgs', 'HdfsSourceArgs', 'HiveSourceArgs', 'HttpSourceArgs', 'HubspotSourceArgs', 'ImpalaSourceArgs', 'InformixSourceArgs', 'JiraSourceArgs', 'JsonSourceArgs', 'LakeHouseTableSourceArgs', 'MagentoSourceArgs', 'MariaDBSourceArgs', 'MarketoSourceArgs', 'MicrosoftAccessSourceArgs', 'MongoDbAtlasSourceArgs', 'MongoDbSourceArgs', 'MongoDbV2SourceArgs', 'MySqlSourceArgs', 'NetezzaSourceArgs', 'ODataSourceArgs', 'OdbcSourceArgs', 'Office365SourceArgs', 'OracleServiceCloudSourceArgs', 'OracleSourceArgs', 'OrcSourceArgs', 'ParquetSourceArgs', 'PaypalSourceArgs', 'PhoenixSourceArgs', 'PostgreSqlSourceArgs', 'PostgreSqlV2SourceArgs', 'PrestoSourceArgs', 'QuickBooksSourceArgs', 'RelationalSourceArgs', 'ResponsysSourceArgs', 'RestSourceArgs', 'SalesforceMarketingCloudSourceArgs', 'SalesforceServiceCloudSourceArgs', 'SalesforceServiceCloudV2SourceArgs', 'SalesforceSourceArgs', 'SalesforceV2SourceArgs', 'SapBwSourceArgs', 'SapCloudForCustomerSourceArgs', 'SapEccSourceArgs', 'SapHanaSourceArgs', 'SapOdpSourceArgs', 'SapOpenHubSourceArgs', 'SapTableSourceArgs', 'ServiceNowSourceArgs', 'ServiceNowV2SourceArgs', 'SharePointOnlineListSourceArgs', 'ShopifySourceArgs', 'SnowflakeSourceArgs', 'SnowflakeV2SourceArgs', 'SparkSourceArgs', 'SqlDWSourceArgs', 'SqlMISourceArgs', 'SqlServerSourceArgs', 'SqlSourceArgs', 'SquareSourceArgs', 'SybaseSourceArgs', 'TabularSourceArgs', 'TeradataSourceArgs', 'VerticaSourceArgs', 'WarehouseSourceArgs', 'WebSourceArgs', 'XeroSourceArgs', 'XmlSourceArgs', 'ZohoSourceArgs']], type: pulumi.Input[str], data_integration_units: Optional[Any] = None, @@ -30819,7 +30983,7 @@ def __init__(__self__, *, """ Copy activity. :param pulumi.Input[str] name: Activity name. - :param pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'WarehouseSinkArgs']] sink: Copy activity sink. + :param pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'TeradataSinkArgs', 'WarehouseSinkArgs']] sink: Copy activity sink. :param pulumi.Input[Union['AmazonMWSSourceArgs', 'AmazonRdsForOracleSourceArgs', 'AmazonRdsForSqlServerSourceArgs', 'AmazonRedshiftSourceArgs', 'AvroSourceArgs', 'AzureBlobFSSourceArgs', 'AzureDataExplorerSourceArgs', 'AzureDataLakeStoreSourceArgs', 'AzureDatabricksDeltaLakeSourceArgs', 'AzureMariaDBSourceArgs', 'AzureMySqlSourceArgs', 'AzurePostgreSqlSourceArgs', 'AzureSqlSourceArgs', 'AzureTableSourceArgs', 'BinarySourceArgs', 'BlobSourceArgs', 'CassandraSourceArgs', 'CommonDataServiceForAppsSourceArgs', 'ConcurSourceArgs', 'CosmosDbMongoDbApiSourceArgs', 'CosmosDbSqlApiSourceArgs', 'CouchbaseSourceArgs', 'Db2SourceArgs', 'DelimitedTextSourceArgs', 'DocumentDbCollectionSourceArgs', 'DrillSourceArgs', 'DynamicsAXSourceArgs', 'DynamicsCrmSourceArgs', 'DynamicsSourceArgs', 'EloquaSourceArgs', 'ExcelSourceArgs', 'FileSystemSourceArgs', 'GoogleAdWordsSourceArgs', 'GoogleBigQuerySourceArgs', 'GoogleBigQueryV2SourceArgs', 'GreenplumSourceArgs', 'HBaseSourceArgs', 'HdfsSourceArgs', 'HiveSourceArgs', 'HttpSourceArgs', 'HubspotSourceArgs', 'ImpalaSourceArgs', 'InformixSourceArgs', 'JiraSourceArgs', 'JsonSourceArgs', 'LakeHouseTableSourceArgs', 'MagentoSourceArgs', 'MariaDBSourceArgs', 'MarketoSourceArgs', 'MicrosoftAccessSourceArgs', 'MongoDbAtlasSourceArgs', 'MongoDbSourceArgs', 'MongoDbV2SourceArgs', 'MySqlSourceArgs', 'NetezzaSourceArgs', 'ODataSourceArgs', 'OdbcSourceArgs', 'Office365SourceArgs', 'OracleServiceCloudSourceArgs', 'OracleSourceArgs', 'OrcSourceArgs', 'ParquetSourceArgs', 'PaypalSourceArgs', 'PhoenixSourceArgs', 'PostgreSqlSourceArgs', 'PostgreSqlV2SourceArgs', 'PrestoSourceArgs', 'QuickBooksSourceArgs', 'RelationalSourceArgs', 'ResponsysSourceArgs', 'RestSourceArgs', 'SalesforceMarketingCloudSourceArgs', 'SalesforceServiceCloudSourceArgs', 'SalesforceServiceCloudV2SourceArgs', 'SalesforceSourceArgs', 'SalesforceV2SourceArgs', 'SapBwSourceArgs', 'SapCloudForCustomerSourceArgs', 'SapEccSourceArgs', 'SapHanaSourceArgs', 'SapOdpSourceArgs', 'SapOpenHubSourceArgs', 'SapTableSourceArgs', 'ServiceNowSourceArgs', 'ServiceNowV2SourceArgs', 'SharePointOnlineListSourceArgs', 'ShopifySourceArgs', 'SnowflakeSourceArgs', 'SnowflakeV2SourceArgs', 'SparkSourceArgs', 'SqlDWSourceArgs', 'SqlMISourceArgs', 'SqlServerSourceArgs', 'SqlSourceArgs', 'SquareSourceArgs', 'SybaseSourceArgs', 'TabularSourceArgs', 'TeradataSourceArgs', 'VerticaSourceArgs', 'WarehouseSourceArgs', 'WebSourceArgs', 'XeroSourceArgs', 'XmlSourceArgs', 'ZohoSourceArgs']] source: Copy activity source. :param pulumi.Input[str] type: Type of activity. Expected value is 'Copy'. @@ -30909,14 +31073,14 @@ def name(self, value: pulumi.Input[str]): @property @pulumi.getter - def sink(self) -> pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'WarehouseSinkArgs']]: + def sink(self) -> pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'TeradataSinkArgs', 'WarehouseSinkArgs']]: """ Copy activity sink. """ return pulumi.get(self, "sink") @sink.setter - def sink(self, value: pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'WarehouseSinkArgs']]): + def sink(self, value: pulumi.Input[Union['AvroSinkArgs', 'AzureBlobFSSinkArgs', 'AzureDataExplorerSinkArgs', 'AzureDataLakeStoreSinkArgs', 'AzureDatabricksDeltaLakeSinkArgs', 'AzureMySqlSinkArgs', 'AzurePostgreSqlSinkArgs', 'AzureQueueSinkArgs', 'AzureSearchIndexSinkArgs', 'AzureSqlSinkArgs', 'AzureTableSinkArgs', 'BinarySinkArgs', 'BlobSinkArgs', 'CommonDataServiceForAppsSinkArgs', 'CosmosDbMongoDbApiSinkArgs', 'CosmosDbSqlApiSinkArgs', 'DelimitedTextSinkArgs', 'DocumentDbCollectionSinkArgs', 'DynamicsCrmSinkArgs', 'DynamicsSinkArgs', 'FileSystemSinkArgs', 'IcebergSinkArgs', 'InformixSinkArgs', 'JsonSinkArgs', 'LakeHouseTableSinkArgs', 'MicrosoftAccessSinkArgs', 'MongoDbAtlasSinkArgs', 'MongoDbV2SinkArgs', 'OdbcSinkArgs', 'OracleSinkArgs', 'OrcSinkArgs', 'ParquetSinkArgs', 'RestSinkArgs', 'SalesforceServiceCloudSinkArgs', 'SalesforceServiceCloudV2SinkArgs', 'SalesforceSinkArgs', 'SalesforceV2SinkArgs', 'SapCloudForCustomerSinkArgs', 'SnowflakeSinkArgs', 'SnowflakeV2SinkArgs', 'SqlDWSinkArgs', 'SqlMISinkArgs', 'SqlServerSinkArgs', 'SqlSinkArgs', 'TeradataSinkArgs', 'WarehouseSinkArgs']]): pulumi.set(self, "sink", value) @property @@ -78334,11 +78498,11 @@ def wildcard_folder_path(self, value: Optional[Any]): if not MYPY: class OracleLinkedServiceArgsDict(TypedDict): """ - Oracle database. + Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. """ connection_string: Any """ - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. """ type: pulumi.Input[str] """ @@ -78349,18 +78513,58 @@ class OracleLinkedServiceArgsDict(TypedDict): """ List of tags that can be used for describing the linked service. """ + authentication_type: NotRequired[pulumi.Input[Union[str, 'OracleAuthenticationType']]] + """ + Authentication type for connecting to the Oracle database. Only used for Version 2.0. + """ connect_via: NotRequired[pulumi.Input['IntegrationRuntimeReferenceArgsDict']] """ The integration runtime reference. """ + crypto_checksum_client: NotRequired[Any] + """ + Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + """ + crypto_checksum_types_client: NotRequired[Any] + """ + Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + """ description: NotRequired[pulumi.Input[str]] """ Linked service description. """ + enable_bulk_load: NotRequired[Any] + """ + Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + """ encrypted_credential: NotRequired[pulumi.Input[str]] """ The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. """ + encryption_client: NotRequired[Any] + """ + Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + """ + encryption_types_client: NotRequired[Any] + """ + Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + """ + fetch_size: NotRequired[Any] + """ + Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + """ + fetch_tswtz_as_timestamp: NotRequired[Any] + """ + Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + """ + initial_lob_fetch_size: NotRequired[Any] + """ + Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + """ + initialization_string: NotRequired[Any] + """ + Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + """ parameters: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgsDict']]]] """ Parameters for linked service. @@ -78369,6 +78573,22 @@ class OracleLinkedServiceArgsDict(TypedDict): """ The Azure key vault secret reference of password in connection string. """ + server: NotRequired[Any] + """ + The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + """ + statement_cache_size: NotRequired[Any] + """ + Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + """ + support_v1_data_types: NotRequired[Any] + """ + Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + """ + username: NotRequired[Any] + """ + The Oracle database username. Type: string. Only used for Version 2.0. + """ version: NotRequired[pulumi.Input[str]] """ Version of the linked service. @@ -78382,39 +78602,95 @@ def __init__(__self__, *, connection_string: Any, type: pulumi.Input[str], annotations: Optional[pulumi.Input[Sequence[Any]]] = None, + authentication_type: Optional[pulumi.Input[Union[str, 'OracleAuthenticationType']]] = None, connect_via: Optional[pulumi.Input['IntegrationRuntimeReferenceArgs']] = None, + crypto_checksum_client: Optional[Any] = None, + crypto_checksum_types_client: Optional[Any] = None, description: Optional[pulumi.Input[str]] = None, + enable_bulk_load: Optional[Any] = None, encrypted_credential: Optional[pulumi.Input[str]] = None, + encryption_client: Optional[Any] = None, + encryption_types_client: Optional[Any] = None, + fetch_size: Optional[Any] = None, + fetch_tswtz_as_timestamp: Optional[Any] = None, + initial_lob_fetch_size: Optional[Any] = None, + initialization_string: Optional[Any] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgs']]]] = None, password: Optional[pulumi.Input['AzureKeyVaultSecretReferenceArgs']] = None, + server: Optional[Any] = None, + statement_cache_size: Optional[Any] = None, + support_v1_data_types: Optional[Any] = None, + username: Optional[Any] = None, version: Optional[pulumi.Input[str]] = None): """ - Oracle database. - :param Any connection_string: The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. + :param Any connection_string: The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. :param pulumi.Input[str] type: Type of linked service. Expected value is 'Oracle'. :param pulumi.Input[Sequence[Any]] annotations: List of tags that can be used for describing the linked service. + :param pulumi.Input[Union[str, 'OracleAuthenticationType']] authentication_type: Authentication type for connecting to the Oracle database. Only used for Version 2.0. :param pulumi.Input['IntegrationRuntimeReferenceArgs'] connect_via: The integration runtime reference. + :param Any crypto_checksum_client: Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + :param Any crypto_checksum_types_client: Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. :param pulumi.Input[str] description: Linked service description. + :param Any enable_bulk_load: Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. :param pulumi.Input[str] encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. + :param Any encryption_client: Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + :param Any encryption_types_client: Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + :param Any fetch_size: Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + :param Any fetch_tswtz_as_timestamp: Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + :param Any initial_lob_fetch_size: Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + :param Any initialization_string: Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. :param pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgs']]] parameters: Parameters for linked service. :param pulumi.Input['AzureKeyVaultSecretReferenceArgs'] password: The Azure key vault secret reference of password in connection string. + :param Any server: The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + :param Any statement_cache_size: Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + :param Any support_v1_data_types: Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + :param Any username: The Oracle database username. Type: string. Only used for Version 2.0. :param pulumi.Input[str] version: Version of the linked service. """ pulumi.set(__self__, "connection_string", connection_string) pulumi.set(__self__, "type", 'Oracle') if annotations is not None: pulumi.set(__self__, "annotations", annotations) + if authentication_type is not None: + pulumi.set(__self__, "authentication_type", authentication_type) if connect_via is not None: pulumi.set(__self__, "connect_via", connect_via) + if crypto_checksum_client is not None: + pulumi.set(__self__, "crypto_checksum_client", crypto_checksum_client) + if crypto_checksum_types_client is not None: + pulumi.set(__self__, "crypto_checksum_types_client", crypto_checksum_types_client) if description is not None: pulumi.set(__self__, "description", description) + if enable_bulk_load is not None: + pulumi.set(__self__, "enable_bulk_load", enable_bulk_load) if encrypted_credential is not None: pulumi.set(__self__, "encrypted_credential", encrypted_credential) + if encryption_client is not None: + pulumi.set(__self__, "encryption_client", encryption_client) + if encryption_types_client is not None: + pulumi.set(__self__, "encryption_types_client", encryption_types_client) + if fetch_size is not None: + pulumi.set(__self__, "fetch_size", fetch_size) + if fetch_tswtz_as_timestamp is not None: + pulumi.set(__self__, "fetch_tswtz_as_timestamp", fetch_tswtz_as_timestamp) + if initial_lob_fetch_size is not None: + pulumi.set(__self__, "initial_lob_fetch_size", initial_lob_fetch_size) + if initialization_string is not None: + pulumi.set(__self__, "initialization_string", initialization_string) if parameters is not None: pulumi.set(__self__, "parameters", parameters) if password is not None: pulumi.set(__self__, "password", password) + if server is not None: + pulumi.set(__self__, "server", server) + if statement_cache_size is not None: + pulumi.set(__self__, "statement_cache_size", statement_cache_size) + if support_v1_data_types is not None: + pulumi.set(__self__, "support_v1_data_types", support_v1_data_types) + if username is not None: + pulumi.set(__self__, "username", username) if version is not None: pulumi.set(__self__, "version", version) @@ -78422,7 +78698,7 @@ def __init__(__self__, *, @pulumi.getter(name="connectionString") def connection_string(self) -> Any: """ - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. """ return pulumi.get(self, "connection_string") @@ -78455,6 +78731,18 @@ def annotations(self) -> Optional[pulumi.Input[Sequence[Any]]]: def annotations(self, value: Optional[pulumi.Input[Sequence[Any]]]): pulumi.set(self, "annotations", value) + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> Optional[pulumi.Input[Union[str, 'OracleAuthenticationType']]]: + """ + Authentication type for connecting to the Oracle database. Only used for Version 2.0. + """ + return pulumi.get(self, "authentication_type") + + @authentication_type.setter + def authentication_type(self, value: Optional[pulumi.Input[Union[str, 'OracleAuthenticationType']]]): + pulumi.set(self, "authentication_type", value) + @property @pulumi.getter(name="connectVia") def connect_via(self) -> Optional[pulumi.Input['IntegrationRuntimeReferenceArgs']]: @@ -78467,6 +78755,30 @@ def connect_via(self) -> Optional[pulumi.Input['IntegrationRuntimeReferenceArgs' def connect_via(self, value: Optional[pulumi.Input['IntegrationRuntimeReferenceArgs']]): pulumi.set(self, "connect_via", value) + @property + @pulumi.getter(name="cryptoChecksumClient") + def crypto_checksum_client(self) -> Optional[Any]: + """ + Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "crypto_checksum_client") + + @crypto_checksum_client.setter + def crypto_checksum_client(self, value: Optional[Any]): + pulumi.set(self, "crypto_checksum_client", value) + + @property + @pulumi.getter(name="cryptoChecksumTypesClient") + def crypto_checksum_types_client(self) -> Optional[Any]: + """ + Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "crypto_checksum_types_client") + + @crypto_checksum_types_client.setter + def crypto_checksum_types_client(self, value: Optional[Any]): + pulumi.set(self, "crypto_checksum_types_client", value) + @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -78479,6 +78791,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="enableBulkLoad") + def enable_bulk_load(self) -> Optional[Any]: + """ + Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + """ + return pulumi.get(self, "enable_bulk_load") + + @enable_bulk_load.setter + def enable_bulk_load(self, value: Optional[Any]): + pulumi.set(self, "enable_bulk_load", value) + @property @pulumi.getter(name="encryptedCredential") def encrypted_credential(self) -> Optional[pulumi.Input[str]]: @@ -78491,6 +78815,78 @@ def encrypted_credential(self) -> Optional[pulumi.Input[str]]: def encrypted_credential(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "encrypted_credential", value) + @property + @pulumi.getter(name="encryptionClient") + def encryption_client(self) -> Optional[Any]: + """ + Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "encryption_client") + + @encryption_client.setter + def encryption_client(self, value: Optional[Any]): + pulumi.set(self, "encryption_client", value) + + @property + @pulumi.getter(name="encryptionTypesClient") + def encryption_types_client(self) -> Optional[Any]: + """ + Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "encryption_types_client") + + @encryption_types_client.setter + def encryption_types_client(self, value: Optional[Any]): + pulumi.set(self, "encryption_types_client", value) + + @property + @pulumi.getter(name="fetchSize") + def fetch_size(self) -> Optional[Any]: + """ + Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + """ + return pulumi.get(self, "fetch_size") + + @fetch_size.setter + def fetch_size(self, value: Optional[Any]): + pulumi.set(self, "fetch_size", value) + + @property + @pulumi.getter(name="fetchTswtzAsTimestamp") + def fetch_tswtz_as_timestamp(self) -> Optional[Any]: + """ + Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + """ + return pulumi.get(self, "fetch_tswtz_as_timestamp") + + @fetch_tswtz_as_timestamp.setter + def fetch_tswtz_as_timestamp(self, value: Optional[Any]): + pulumi.set(self, "fetch_tswtz_as_timestamp", value) + + @property + @pulumi.getter(name="initialLobFetchSize") + def initial_lob_fetch_size(self) -> Optional[Any]: + """ + Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + """ + return pulumi.get(self, "initial_lob_fetch_size") + + @initial_lob_fetch_size.setter + def initial_lob_fetch_size(self, value: Optional[Any]): + pulumi.set(self, "initial_lob_fetch_size", value) + + @property + @pulumi.getter(name="initializationString") + def initialization_string(self) -> Optional[Any]: + """ + Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "initialization_string") + + @initialization_string.setter + def initialization_string(self, value: Optional[Any]): + pulumi.set(self, "initialization_string", value) + @property @pulumi.getter def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgs']]]]: @@ -78515,6 +78911,54 @@ def password(self) -> Optional[pulumi.Input['AzureKeyVaultSecretReferenceArgs']] def password(self, value: Optional[pulumi.Input['AzureKeyVaultSecretReferenceArgs']]): pulumi.set(self, "password", value) + @property + @pulumi.getter + def server(self) -> Optional[Any]: + """ + The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "server") + + @server.setter + def server(self, value: Optional[Any]): + pulumi.set(self, "server", value) + + @property + @pulumi.getter(name="statementCacheSize") + def statement_cache_size(self) -> Optional[Any]: + """ + Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + """ + return pulumi.get(self, "statement_cache_size") + + @statement_cache_size.setter + def statement_cache_size(self, value: Optional[Any]): + pulumi.set(self, "statement_cache_size", value) + + @property + @pulumi.getter(name="supportV1DataTypes") + def support_v1_data_types(self) -> Optional[Any]: + """ + Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + """ + return pulumi.get(self, "support_v1_data_types") + + @support_v1_data_types.setter + def support_v1_data_types(self, value: Optional[Any]): + pulumi.set(self, "support_v1_data_types", value) + + @property + @pulumi.getter + def username(self) -> Optional[Any]: + """ + The Oracle database username. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: Optional[Any]): + pulumi.set(self, "username", value) + @property @pulumi.getter def version(self) -> Optional[pulumi.Input[str]]: @@ -115681,6 +116125,64 @@ def version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "version", value) +if not MYPY: + class TeradataImportCommandArgsDict(TypedDict): + """ + Teradata import command settings. + """ + type: pulumi.Input[str] + """ + The import setting type. + Expected value is 'TeradataImportCommand'. + """ + additional_format_options: NotRequired[Any] + """ + Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + """ +elif False: + TeradataImportCommandArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TeradataImportCommandArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + additional_format_options: Optional[Any] = None): + """ + Teradata import command settings. + :param pulumi.Input[str] type: The import setting type. + Expected value is 'TeradataImportCommand'. + :param Any additional_format_options: Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + """ + pulumi.set(__self__, "type", 'TeradataImportCommand') + if additional_format_options is not None: + pulumi.set(__self__, "additional_format_options", additional_format_options) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The import setting type. + Expected value is 'TeradataImportCommand'. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="additionalFormatOptions") + def additional_format_options(self) -> Optional[Any]: + """ + Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + """ + return pulumi.get(self, "additional_format_options") + + @additional_format_options.setter + def additional_format_options(self, value: Optional[Any]): + pulumi.set(self, "additional_format_options", value) + + if not MYPY: class TeradataLinkedServiceArgsDict(TypedDict): """ @@ -115699,13 +116201,17 @@ class TeradataLinkedServiceArgsDict(TypedDict): """ AuthenticationType to be used for connection. """ + character_set: NotRequired[Any] + """ + The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + """ connect_via: NotRequired[pulumi.Input['IntegrationRuntimeReferenceArgsDict']] """ The integration runtime reference. """ connection_string: NotRequired[Any] """ - Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. """ description: NotRequired[pulumi.Input[str]] """ @@ -115715,6 +116221,14 @@ class TeradataLinkedServiceArgsDict(TypedDict): """ The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. """ + https_port_number: NotRequired[Any] + """ + The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + """ + max_resp_size: NotRequired[Any] + """ + The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + """ parameters: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgsDict']]]] """ Parameters for linked service. @@ -115723,10 +116237,22 @@ class TeradataLinkedServiceArgsDict(TypedDict): """ Password for authentication. """ + port_number: NotRequired[Any] + """ + The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + """ server: NotRequired[Any] """ Server name for connection. Type: string (or Expression with resultType string). """ + ssl_mode: NotRequired[Any] + """ + SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + """ + use_data_encryption: NotRequired[Any] + """ + Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + """ username: NotRequired[Any] """ Username for authentication. Type: string (or Expression with resultType string). @@ -115744,13 +116270,19 @@ def __init__(__self__, *, type: pulumi.Input[str], annotations: Optional[pulumi.Input[Sequence[Any]]] = None, authentication_type: Optional[pulumi.Input[Union[str, 'TeradataAuthenticationType']]] = None, + character_set: Optional[Any] = None, connect_via: Optional[pulumi.Input['IntegrationRuntimeReferenceArgs']] = None, connection_string: Optional[Any] = None, description: Optional[pulumi.Input[str]] = None, encrypted_credential: Optional[pulumi.Input[str]] = None, + https_port_number: Optional[Any] = None, + max_resp_size: Optional[Any] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgs']]]] = None, password: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]] = None, + port_number: Optional[Any] = None, server: Optional[Any] = None, + ssl_mode: Optional[Any] = None, + use_data_encryption: Optional[Any] = None, username: Optional[Any] = None, version: Optional[pulumi.Input[str]] = None): """ @@ -115759,13 +116291,19 @@ def __init__(__self__, *, Expected value is 'Teradata'. :param pulumi.Input[Sequence[Any]] annotations: List of tags that can be used for describing the linked service. :param pulumi.Input[Union[str, 'TeradataAuthenticationType']] authentication_type: AuthenticationType to be used for connection. + :param Any character_set: The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. :param pulumi.Input['IntegrationRuntimeReferenceArgs'] connect_via: The integration runtime reference. - :param Any connection_string: Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + :param Any connection_string: Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. :param pulumi.Input[str] description: Linked service description. :param pulumi.Input[str] encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. + :param Any https_port_number: The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + :param Any max_resp_size: The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. :param pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgs']]] parameters: Parameters for linked service. :param pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']] password: Password for authentication. + :param Any port_number: The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. :param Any server: Server name for connection. Type: string (or Expression with resultType string). + :param Any ssl_mode: SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + :param Any use_data_encryption: Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. :param Any username: Username for authentication. Type: string (or Expression with resultType string). :param pulumi.Input[str] version: Version of the linked service. """ @@ -115774,6 +116312,8 @@ def __init__(__self__, *, pulumi.set(__self__, "annotations", annotations) if authentication_type is not None: pulumi.set(__self__, "authentication_type", authentication_type) + if character_set is not None: + pulumi.set(__self__, "character_set", character_set) if connect_via is not None: pulumi.set(__self__, "connect_via", connect_via) if connection_string is not None: @@ -115782,12 +116322,22 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if encrypted_credential is not None: pulumi.set(__self__, "encrypted_credential", encrypted_credential) + if https_port_number is not None: + pulumi.set(__self__, "https_port_number", https_port_number) + if max_resp_size is not None: + pulumi.set(__self__, "max_resp_size", max_resp_size) if parameters is not None: pulumi.set(__self__, "parameters", parameters) if password is not None: pulumi.set(__self__, "password", password) + if port_number is not None: + pulumi.set(__self__, "port_number", port_number) if server is not None: pulumi.set(__self__, "server", server) + if ssl_mode is not None: + pulumi.set(__self__, "ssl_mode", ssl_mode) + if use_data_encryption is not None: + pulumi.set(__self__, "use_data_encryption", use_data_encryption) if username is not None: pulumi.set(__self__, "username", username) if version is not None: @@ -115830,6 +116380,18 @@ def authentication_type(self) -> Optional[pulumi.Input[Union[str, 'TeradataAuthe def authentication_type(self, value: Optional[pulumi.Input[Union[str, 'TeradataAuthenticationType']]]): pulumi.set(self, "authentication_type", value) + @property + @pulumi.getter(name="characterSet") + def character_set(self) -> Optional[Any]: + """ + The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + """ + return pulumi.get(self, "character_set") + + @character_set.setter + def character_set(self, value: Optional[Any]): + pulumi.set(self, "character_set", value) + @property @pulumi.getter(name="connectVia") def connect_via(self) -> Optional[pulumi.Input['IntegrationRuntimeReferenceArgs']]: @@ -115846,7 +116408,7 @@ def connect_via(self, value: Optional[pulumi.Input['IntegrationRuntimeReferenceA @pulumi.getter(name="connectionString") def connection_string(self) -> Optional[Any]: """ - Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. """ return pulumi.get(self, "connection_string") @@ -115878,6 +116440,30 @@ def encrypted_credential(self) -> Optional[pulumi.Input[str]]: def encrypted_credential(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "encrypted_credential", value) + @property + @pulumi.getter(name="httpsPortNumber") + def https_port_number(self) -> Optional[Any]: + """ + The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + """ + return pulumi.get(self, "https_port_number") + + @https_port_number.setter + def https_port_number(self, value: Optional[Any]): + pulumi.set(self, "https_port_number", value) + + @property + @pulumi.getter(name="maxRespSize") + def max_resp_size(self) -> Optional[Any]: + """ + The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + """ + return pulumi.get(self, "max_resp_size") + + @max_resp_size.setter + def max_resp_size(self, value: Optional[Any]): + pulumi.set(self, "max_resp_size", value) + @property @pulumi.getter def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ParameterSpecificationArgs']]]]: @@ -115902,6 +116488,18 @@ def password(self) -> Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceA def password(self, value: Optional[pulumi.Input[Union['AzureKeyVaultSecretReferenceArgs', 'SecureStringArgs']]]): pulumi.set(self, "password", value) + @property + @pulumi.getter(name="portNumber") + def port_number(self) -> Optional[Any]: + """ + The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + """ + return pulumi.get(self, "port_number") + + @port_number.setter + def port_number(self, value: Optional[Any]): + pulumi.set(self, "port_number", value) + @property @pulumi.getter def server(self) -> Optional[Any]: @@ -115914,6 +116512,30 @@ def server(self) -> Optional[Any]: def server(self, value: Optional[Any]): pulumi.set(self, "server", value) + @property + @pulumi.getter(name="sslMode") + def ssl_mode(self) -> Optional[Any]: + """ + SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + """ + return pulumi.get(self, "ssl_mode") + + @ssl_mode.setter + def ssl_mode(self, value: Optional[Any]): + pulumi.set(self, "ssl_mode", value) + + @property + @pulumi.getter(name="useDataEncryption") + def use_data_encryption(self) -> Optional[Any]: + """ + Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + """ + return pulumi.get(self, "use_data_encryption") + + @use_data_encryption.setter + def use_data_encryption(self, value: Optional[Any]): + pulumi.set(self, "use_data_encryption", value) + @property @pulumi.getter def username(self) -> Optional[Any]: @@ -116015,6 +116637,184 @@ def partition_upper_bound(self, value: Optional[Any]): pulumi.set(self, "partition_upper_bound", value) +if not MYPY: + class TeradataSinkArgsDict(TypedDict): + """ + A copy activity Teradata sink. + """ + type: pulumi.Input[str] + """ + Copy sink type. + Expected value is 'TeradataSink'. + """ + disable_metrics_collection: NotRequired[Any] + """ + If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + """ + import_settings: NotRequired[pulumi.Input['TeradataImportCommandArgsDict']] + """ + Teradata import settings. + """ + max_concurrent_connections: NotRequired[Any] + """ + The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + """ + sink_retry_count: NotRequired[Any] + """ + Sink retry count. Type: integer (or Expression with resultType integer). + """ + sink_retry_wait: NotRequired[Any] + """ + Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + write_batch_size: NotRequired[Any] + """ + Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + """ + write_batch_timeout: NotRequired[Any] + """ + Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ +elif False: + TeradataSinkArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TeradataSinkArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + disable_metrics_collection: Optional[Any] = None, + import_settings: Optional[pulumi.Input['TeradataImportCommandArgs']] = None, + max_concurrent_connections: Optional[Any] = None, + sink_retry_count: Optional[Any] = None, + sink_retry_wait: Optional[Any] = None, + write_batch_size: Optional[Any] = None, + write_batch_timeout: Optional[Any] = None): + """ + A copy activity Teradata sink. + :param pulumi.Input[str] type: Copy sink type. + Expected value is 'TeradataSink'. + :param Any disable_metrics_collection: If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + :param pulumi.Input['TeradataImportCommandArgs'] import_settings: Teradata import settings. + :param Any max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + :param Any sink_retry_count: Sink retry count. Type: integer (or Expression with resultType integer). + :param Any sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :param Any write_batch_size: Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + :param Any write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + pulumi.set(__self__, "type", 'TeradataSink') + if disable_metrics_collection is not None: + pulumi.set(__self__, "disable_metrics_collection", disable_metrics_collection) + if import_settings is not None: + pulumi.set(__self__, "import_settings", import_settings) + if max_concurrent_connections is not None: + pulumi.set(__self__, "max_concurrent_connections", max_concurrent_connections) + if sink_retry_count is not None: + pulumi.set(__self__, "sink_retry_count", sink_retry_count) + if sink_retry_wait is not None: + pulumi.set(__self__, "sink_retry_wait", sink_retry_wait) + if write_batch_size is not None: + pulumi.set(__self__, "write_batch_size", write_batch_size) + if write_batch_timeout is not None: + pulumi.set(__self__, "write_batch_timeout", write_batch_timeout) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + Copy sink type. + Expected value is 'TeradataSink'. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="disableMetricsCollection") + def disable_metrics_collection(self) -> Optional[Any]: + """ + If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + """ + return pulumi.get(self, "disable_metrics_collection") + + @disable_metrics_collection.setter + def disable_metrics_collection(self, value: Optional[Any]): + pulumi.set(self, "disable_metrics_collection", value) + + @property + @pulumi.getter(name="importSettings") + def import_settings(self) -> Optional[pulumi.Input['TeradataImportCommandArgs']]: + """ + Teradata import settings. + """ + return pulumi.get(self, "import_settings") + + @import_settings.setter + def import_settings(self, value: Optional[pulumi.Input['TeradataImportCommandArgs']]): + pulumi.set(self, "import_settings", value) + + @property + @pulumi.getter(name="maxConcurrentConnections") + def max_concurrent_connections(self) -> Optional[Any]: + """ + The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + """ + return pulumi.get(self, "max_concurrent_connections") + + @max_concurrent_connections.setter + def max_concurrent_connections(self, value: Optional[Any]): + pulumi.set(self, "max_concurrent_connections", value) + + @property + @pulumi.getter(name="sinkRetryCount") + def sink_retry_count(self) -> Optional[Any]: + """ + Sink retry count. Type: integer (or Expression with resultType integer). + """ + return pulumi.get(self, "sink_retry_count") + + @sink_retry_count.setter + def sink_retry_count(self, value: Optional[Any]): + pulumi.set(self, "sink_retry_count", value) + + @property + @pulumi.getter(name="sinkRetryWait") + def sink_retry_wait(self) -> Optional[Any]: + """ + Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + return pulumi.get(self, "sink_retry_wait") + + @sink_retry_wait.setter + def sink_retry_wait(self, value: Optional[Any]): + pulumi.set(self, "sink_retry_wait", value) + + @property + @pulumi.getter(name="writeBatchSize") + def write_batch_size(self) -> Optional[Any]: + """ + Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + """ + return pulumi.get(self, "write_batch_size") + + @write_batch_size.setter + def write_batch_size(self, value: Optional[Any]): + pulumi.set(self, "write_batch_size", value) + + @property + @pulumi.getter(name="writeBatchTimeout") + def write_batch_timeout(self) -> Optional[Any]: + """ + Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + return pulumi.get(self, "write_batch_timeout") + + @write_batch_timeout.setter + def write_batch_timeout(self, value: Optional[Any]): + pulumi.set(self, "write_batch_timeout", value) + + if not MYPY: class TeradataSourceArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_azure_native/datafactory/v20180601/outputs.py b/sdk/python/pulumi_azure_native/datafactory/v20180601/outputs.py index d02a660cc848..e4a823b4d905 100644 --- a/sdk/python/pulumi_azure_native/datafactory/v20180601/outputs.py +++ b/sdk/python/pulumi_azure_native/datafactory/v20180601/outputs.py @@ -610,8 +610,10 @@ 'TarGZipReadSettingsResponse', 'TarReadSettingsResponse', 'TeamDeskLinkedServiceResponse', + 'TeradataImportCommandResponse', 'TeradataLinkedServiceResponse', 'TeradataPartitionSettingsResponse', + 'TeradataSinkResponse', 'TeradataSourceResponse', 'TeradataTableDatasetResponse', 'TextFormatResponse', @@ -13926,7 +13928,9 @@ class AzurePostgreSqlLinkedServiceResponse(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "commandTimeout": + if key == "azureCloudType": + suggest = "azure_cloud_type" + elif key == "commandTimeout": suggest = "command_timeout" elif key == "connectVia": suggest = "connect_via" @@ -13936,6 +13940,16 @@ def __key_warning(key: str): suggest = "encrypted_credential" elif key == "readBufferSize": suggest = "read_buffer_size" + elif key == "servicePrincipalCredentialType": + suggest = "service_principal_credential_type" + elif key == "servicePrincipalEmbeddedCert": + suggest = "service_principal_embedded_cert" + elif key == "servicePrincipalEmbeddedCertPassword": + suggest = "service_principal_embedded_cert_password" + elif key == "servicePrincipalId": + suggest = "service_principal_id" + elif key == "servicePrincipalKey": + suggest = "service_principal_key" elif key == "sslMode": suggest = "ssl_mode" elif key == "trustServerCertificate": @@ -13955,9 +13969,11 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, type: str, annotations: Optional[Sequence[Any]] = None, + azure_cloud_type: Optional[Any] = None, command_timeout: Optional[Any] = None, connect_via: Optional['outputs.IntegrationRuntimeReferenceResponse'] = None, connection_string: Optional[Any] = None, + credential: Optional['outputs.CredentialReferenceResponse'] = None, database: Optional[Any] = None, description: Optional[str] = None, encoding: Optional[Any] = None, @@ -13967,7 +13983,13 @@ def __init__(__self__, *, port: Optional[Any] = None, read_buffer_size: Optional[Any] = None, server: Optional[Any] = None, + service_principal_credential_type: Optional[Any] = None, + service_principal_embedded_cert: Optional[Any] = None, + service_principal_embedded_cert_password: Optional[Any] = None, + service_principal_id: Optional[Any] = None, + service_principal_key: Optional[Any] = None, ssl_mode: Optional[Any] = None, + tenant: Optional[Any] = None, timeout: Optional[Any] = None, timezone: Optional[Any] = None, trust_server_certificate: Optional[Any] = None, @@ -13978,9 +14000,11 @@ def __init__(__self__, *, :param str type: Type of linked service. Expected value is 'AzurePostgreSql'. :param Sequence[Any] annotations: List of tags that can be used for describing the linked service. + :param Any azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). :param Any command_timeout: The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. Type: integer. :param 'IntegrationRuntimeReferenceResponse' connect_via: The integration runtime reference. :param Any connection_string: An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + :param 'CredentialReferenceResponse' credential: The credential reference containing authentication information. :param Any database: Database name for connection. Type: string. :param str description: Linked service description. :param Any encoding: Gets or sets the .NET encoding that will be used to encode/decode PostgreSQL string data. Type: string @@ -13990,7 +14014,13 @@ def __init__(__self__, *, :param Any port: The port for the connection. Type: integer. :param Any read_buffer_size: Determines the size of the internal buffer uses when reading. Increasing may improve performance if transferring large values from the database. Type: integer. :param Any server: Server name for connection. Type: string. + :param Any service_principal_credential_type: The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + :param Union['AzureKeyVaultSecretReferenceResponse', 'SecureStringResponse'] service_principal_embedded_cert: Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + :param Union['AzureKeyVaultSecretReferenceResponse', 'SecureStringResponse'] service_principal_embedded_cert_password: Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + :param Any service_principal_id: The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + :param Union['AzureKeyVaultSecretReferenceResponse', 'SecureStringResponse'] service_principal_key: The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. :param Any ssl_mode: SSL mode for connection. Type: integer. 0: disable, 1:allow, 2: prefer, 3: require, 4: verify-ca, 5: verify-full. Type: integer. + :param Any tenant: The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). :param Any timeout: The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Type: integer. :param Any timezone: Gets or sets the session timezone. Type: string. :param Any trust_server_certificate: Whether to trust the server certificate without validating it. Type: boolean. @@ -14000,12 +14030,16 @@ def __init__(__self__, *, pulumi.set(__self__, "type", 'AzurePostgreSql') if annotations is not None: pulumi.set(__self__, "annotations", annotations) + if azure_cloud_type is not None: + pulumi.set(__self__, "azure_cloud_type", azure_cloud_type) if command_timeout is not None: pulumi.set(__self__, "command_timeout", command_timeout) if connect_via is not None: pulumi.set(__self__, "connect_via", connect_via) if connection_string is not None: pulumi.set(__self__, "connection_string", connection_string) + if credential is not None: + pulumi.set(__self__, "credential", credential) if database is not None: pulumi.set(__self__, "database", database) if description is not None: @@ -14024,8 +14058,20 @@ def __init__(__self__, *, pulumi.set(__self__, "read_buffer_size", read_buffer_size) if server is not None: pulumi.set(__self__, "server", server) + if service_principal_credential_type is not None: + pulumi.set(__self__, "service_principal_credential_type", service_principal_credential_type) + if service_principal_embedded_cert is not None: + pulumi.set(__self__, "service_principal_embedded_cert", service_principal_embedded_cert) + if service_principal_embedded_cert_password is not None: + pulumi.set(__self__, "service_principal_embedded_cert_password", service_principal_embedded_cert_password) + if service_principal_id is not None: + pulumi.set(__self__, "service_principal_id", service_principal_id) + if service_principal_key is not None: + pulumi.set(__self__, "service_principal_key", service_principal_key) if ssl_mode is not None: pulumi.set(__self__, "ssl_mode", ssl_mode) + if tenant is not None: + pulumi.set(__self__, "tenant", tenant) if timeout is not None: pulumi.set(__self__, "timeout", timeout) if timezone is not None: @@ -14054,6 +14100,14 @@ def annotations(self) -> Optional[Sequence[Any]]: """ return pulumi.get(self, "annotations") + @property + @pulumi.getter(name="azureCloudType") + def azure_cloud_type(self) -> Optional[Any]: + """ + Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "azure_cloud_type") + @property @pulumi.getter(name="commandTimeout") def command_timeout(self) -> Optional[Any]: @@ -14078,6 +14132,14 @@ def connection_string(self) -> Optional[Any]: """ return pulumi.get(self, "connection_string") + @property + @pulumi.getter + def credential(self) -> Optional['outputs.CredentialReferenceResponse']: + """ + The credential reference containing authentication information. + """ + return pulumi.get(self, "credential") + @property @pulumi.getter def database(self) -> Optional[Any]: @@ -14150,6 +14212,46 @@ def server(self) -> Optional[Any]: """ return pulumi.get(self, "server") + @property + @pulumi.getter(name="servicePrincipalCredentialType") + def service_principal_credential_type(self) -> Optional[Any]: + """ + The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_credential_type") + + @property + @pulumi.getter(name="servicePrincipalEmbeddedCert") + def service_principal_embedded_cert(self) -> Optional[Any]: + """ + Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_embedded_cert") + + @property + @pulumi.getter(name="servicePrincipalEmbeddedCertPassword") + def service_principal_embedded_cert_password(self) -> Optional[Any]: + """ + Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_embedded_cert_password") + + @property + @pulumi.getter(name="servicePrincipalId") + def service_principal_id(self) -> Optional[Any]: + """ + The ID of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "service_principal_id") + + @property + @pulumi.getter(name="servicePrincipalKey") + def service_principal_key(self) -> Optional[Any]: + """ + The key of the service principal used to authenticate against Azure Database for PostgreSQL Flexible server. + """ + return pulumi.get(self, "service_principal_key") + @property @pulumi.getter(name="sslMode") def ssl_mode(self) -> Optional[Any]: @@ -14158,6 +14260,14 @@ def ssl_mode(self) -> Optional[Any]: """ return pulumi.get(self, "ssl_mode") + @property + @pulumi.getter + def tenant(self) -> Optional[Any]: + """ + The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + """ + return pulumi.get(self, "tenant") + @property @pulumi.getter def timeout(self) -> Optional[Any]: @@ -22103,7 +22213,7 @@ def __init__(__self__, *, """ Copy activity. :param str name: Activity name. - :param Union['AvroSinkResponse', 'AzureBlobFSSinkResponse', 'AzureDataExplorerSinkResponse', 'AzureDataLakeStoreSinkResponse', 'AzureDatabricksDeltaLakeSinkResponse', 'AzureMySqlSinkResponse', 'AzurePostgreSqlSinkResponse', 'AzureQueueSinkResponse', 'AzureSearchIndexSinkResponse', 'AzureSqlSinkResponse', 'AzureTableSinkResponse', 'BinarySinkResponse', 'BlobSinkResponse', 'CommonDataServiceForAppsSinkResponse', 'CosmosDbMongoDbApiSinkResponse', 'CosmosDbSqlApiSinkResponse', 'DelimitedTextSinkResponse', 'DocumentDbCollectionSinkResponse', 'DynamicsCrmSinkResponse', 'DynamicsSinkResponse', 'FileSystemSinkResponse', 'IcebergSinkResponse', 'InformixSinkResponse', 'JsonSinkResponse', 'LakeHouseTableSinkResponse', 'MicrosoftAccessSinkResponse', 'MongoDbAtlasSinkResponse', 'MongoDbV2SinkResponse', 'OdbcSinkResponse', 'OracleSinkResponse', 'OrcSinkResponse', 'ParquetSinkResponse', 'RestSinkResponse', 'SalesforceServiceCloudSinkResponse', 'SalesforceServiceCloudV2SinkResponse', 'SalesforceSinkResponse', 'SalesforceV2SinkResponse', 'SapCloudForCustomerSinkResponse', 'SnowflakeSinkResponse', 'SnowflakeV2SinkResponse', 'SqlDWSinkResponse', 'SqlMISinkResponse', 'SqlServerSinkResponse', 'SqlSinkResponse', 'WarehouseSinkResponse'] sink: Copy activity sink. + :param Union['AvroSinkResponse', 'AzureBlobFSSinkResponse', 'AzureDataExplorerSinkResponse', 'AzureDataLakeStoreSinkResponse', 'AzureDatabricksDeltaLakeSinkResponse', 'AzureMySqlSinkResponse', 'AzurePostgreSqlSinkResponse', 'AzureQueueSinkResponse', 'AzureSearchIndexSinkResponse', 'AzureSqlSinkResponse', 'AzureTableSinkResponse', 'BinarySinkResponse', 'BlobSinkResponse', 'CommonDataServiceForAppsSinkResponse', 'CosmosDbMongoDbApiSinkResponse', 'CosmosDbSqlApiSinkResponse', 'DelimitedTextSinkResponse', 'DocumentDbCollectionSinkResponse', 'DynamicsCrmSinkResponse', 'DynamicsSinkResponse', 'FileSystemSinkResponse', 'IcebergSinkResponse', 'InformixSinkResponse', 'JsonSinkResponse', 'LakeHouseTableSinkResponse', 'MicrosoftAccessSinkResponse', 'MongoDbAtlasSinkResponse', 'MongoDbV2SinkResponse', 'OdbcSinkResponse', 'OracleSinkResponse', 'OrcSinkResponse', 'ParquetSinkResponse', 'RestSinkResponse', 'SalesforceServiceCloudSinkResponse', 'SalesforceServiceCloudV2SinkResponse', 'SalesforceSinkResponse', 'SalesforceV2SinkResponse', 'SapCloudForCustomerSinkResponse', 'SnowflakeSinkResponse', 'SnowflakeV2SinkResponse', 'SqlDWSinkResponse', 'SqlMISinkResponse', 'SqlServerSinkResponse', 'SqlSinkResponse', 'TeradataSinkResponse', 'WarehouseSinkResponse'] sink: Copy activity sink. :param Union['AmazonMWSSourceResponse', 'AmazonRdsForOracleSourceResponse', 'AmazonRdsForSqlServerSourceResponse', 'AmazonRedshiftSourceResponse', 'AvroSourceResponse', 'AzureBlobFSSourceResponse', 'AzureDataExplorerSourceResponse', 'AzureDataLakeStoreSourceResponse', 'AzureDatabricksDeltaLakeSourceResponse', 'AzureMariaDBSourceResponse', 'AzureMySqlSourceResponse', 'AzurePostgreSqlSourceResponse', 'AzureSqlSourceResponse', 'AzureTableSourceResponse', 'BinarySourceResponse', 'BlobSourceResponse', 'CassandraSourceResponse', 'CommonDataServiceForAppsSourceResponse', 'ConcurSourceResponse', 'CosmosDbMongoDbApiSourceResponse', 'CosmosDbSqlApiSourceResponse', 'CouchbaseSourceResponse', 'Db2SourceResponse', 'DelimitedTextSourceResponse', 'DocumentDbCollectionSourceResponse', 'DrillSourceResponse', 'DynamicsAXSourceResponse', 'DynamicsCrmSourceResponse', 'DynamicsSourceResponse', 'EloquaSourceResponse', 'ExcelSourceResponse', 'FileSystemSourceResponse', 'GoogleAdWordsSourceResponse', 'GoogleBigQuerySourceResponse', 'GoogleBigQueryV2SourceResponse', 'GreenplumSourceResponse', 'HBaseSourceResponse', 'HdfsSourceResponse', 'HiveSourceResponse', 'HttpSourceResponse', 'HubspotSourceResponse', 'ImpalaSourceResponse', 'InformixSourceResponse', 'JiraSourceResponse', 'JsonSourceResponse', 'LakeHouseTableSourceResponse', 'MagentoSourceResponse', 'MariaDBSourceResponse', 'MarketoSourceResponse', 'MicrosoftAccessSourceResponse', 'MongoDbAtlasSourceResponse', 'MongoDbSourceResponse', 'MongoDbV2SourceResponse', 'MySqlSourceResponse', 'NetezzaSourceResponse', 'ODataSourceResponse', 'OdbcSourceResponse', 'Office365SourceResponse', 'OracleServiceCloudSourceResponse', 'OracleSourceResponse', 'OrcSourceResponse', 'ParquetSourceResponse', 'PaypalSourceResponse', 'PhoenixSourceResponse', 'PostgreSqlSourceResponse', 'PostgreSqlV2SourceResponse', 'PrestoSourceResponse', 'QuickBooksSourceResponse', 'RelationalSourceResponse', 'ResponsysSourceResponse', 'RestSourceResponse', 'SalesforceMarketingCloudSourceResponse', 'SalesforceServiceCloudSourceResponse', 'SalesforceServiceCloudV2SourceResponse', 'SalesforceSourceResponse', 'SalesforceV2SourceResponse', 'SapBwSourceResponse', 'SapCloudForCustomerSourceResponse', 'SapEccSourceResponse', 'SapHanaSourceResponse', 'SapOdpSourceResponse', 'SapOpenHubSourceResponse', 'SapTableSourceResponse', 'ServiceNowSourceResponse', 'ServiceNowV2SourceResponse', 'SharePointOnlineListSourceResponse', 'ShopifySourceResponse', 'SnowflakeSourceResponse', 'SnowflakeV2SourceResponse', 'SparkSourceResponse', 'SqlDWSourceResponse', 'SqlMISourceResponse', 'SqlServerSourceResponse', 'SqlSourceResponse', 'SquareSourceResponse', 'SybaseSourceResponse', 'TabularSourceResponse', 'TeradataSourceResponse', 'VerticaSourceResponse', 'WarehouseSourceResponse', 'WebSourceResponse', 'XeroSourceResponse', 'XmlSourceResponse', 'ZohoSourceResponse'] source: Copy activity source. :param str type: Type of activity. Expected value is 'Copy'. @@ -57108,17 +57218,41 @@ def wildcard_folder_path(self) -> Optional[Any]: @pulumi.output_type class OracleLinkedServiceResponse(dict): """ - Oracle database. + Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. """ @staticmethod def __key_warning(key: str): suggest = None if key == "connectionString": suggest = "connection_string" + elif key == "authenticationType": + suggest = "authentication_type" elif key == "connectVia": suggest = "connect_via" + elif key == "cryptoChecksumClient": + suggest = "crypto_checksum_client" + elif key == "cryptoChecksumTypesClient": + suggest = "crypto_checksum_types_client" + elif key == "enableBulkLoad": + suggest = "enable_bulk_load" elif key == "encryptedCredential": suggest = "encrypted_credential" + elif key == "encryptionClient": + suggest = "encryption_client" + elif key == "encryptionTypesClient": + suggest = "encryption_types_client" + elif key == "fetchSize": + suggest = "fetch_size" + elif key == "fetchTswtzAsTimestamp": + suggest = "fetch_tswtz_as_timestamp" + elif key == "initialLobFetchSize": + suggest = "initial_lob_fetch_size" + elif key == "initializationString": + suggest = "initialization_string" + elif key == "statementCacheSize": + suggest = "statement_cache_size" + elif key == "supportV1DataTypes": + suggest = "support_v1_data_types" if suggest: pulumi.log.warn(f"Key '{key}' not found in OracleLinkedServiceResponse. Access the value via the '{suggest}' property getter instead.") @@ -57135,39 +57269,95 @@ def __init__(__self__, *, connection_string: Any, type: str, annotations: Optional[Sequence[Any]] = None, + authentication_type: Optional[str] = None, connect_via: Optional['outputs.IntegrationRuntimeReferenceResponse'] = None, + crypto_checksum_client: Optional[Any] = None, + crypto_checksum_types_client: Optional[Any] = None, description: Optional[str] = None, + enable_bulk_load: Optional[Any] = None, encrypted_credential: Optional[str] = None, + encryption_client: Optional[Any] = None, + encryption_types_client: Optional[Any] = None, + fetch_size: Optional[Any] = None, + fetch_tswtz_as_timestamp: Optional[Any] = None, + initial_lob_fetch_size: Optional[Any] = None, + initialization_string: Optional[Any] = None, parameters: Optional[Mapping[str, 'outputs.ParameterSpecificationResponse']] = None, password: Optional['outputs.AzureKeyVaultSecretReferenceResponse'] = None, + server: Optional[Any] = None, + statement_cache_size: Optional[Any] = None, + support_v1_data_types: Optional[Any] = None, + username: Optional[Any] = None, version: Optional[str] = None): """ - Oracle database. - :param Any connection_string: The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + Oracle database. This linked service has supported version property. The Version 1.0 is scheduled for deprecation while your pipeline will continue to run after EOL but without any bug fix or new features. + :param Any connection_string: The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. :param str type: Type of linked service. Expected value is 'Oracle'. :param Sequence[Any] annotations: List of tags that can be used for describing the linked service. + :param str authentication_type: Authentication type for connecting to the Oracle database. Only used for Version 2.0. :param 'IntegrationRuntimeReferenceResponse' connect_via: The integration runtime reference. + :param Any crypto_checksum_client: Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + :param Any crypto_checksum_types_client: Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. :param str description: Linked service description. + :param Any enable_bulk_load: Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. :param str encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. + :param Any encryption_client: Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + :param Any encryption_types_client: Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + :param Any fetch_size: Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + :param Any fetch_tswtz_as_timestamp: Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + :param Any initial_lob_fetch_size: Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + :param Any initialization_string: Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. :param Mapping[str, 'ParameterSpecificationResponse'] parameters: Parameters for linked service. :param 'AzureKeyVaultSecretReferenceResponse' password: The Azure key vault secret reference of password in connection string. + :param Any server: The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + :param Any statement_cache_size: Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + :param Any support_v1_data_types: Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + :param Any username: The Oracle database username. Type: string. Only used for Version 2.0. :param str version: Version of the linked service. """ pulumi.set(__self__, "connection_string", connection_string) pulumi.set(__self__, "type", 'Oracle') if annotations is not None: pulumi.set(__self__, "annotations", annotations) + if authentication_type is not None: + pulumi.set(__self__, "authentication_type", authentication_type) if connect_via is not None: pulumi.set(__self__, "connect_via", connect_via) + if crypto_checksum_client is not None: + pulumi.set(__self__, "crypto_checksum_client", crypto_checksum_client) + if crypto_checksum_types_client is not None: + pulumi.set(__self__, "crypto_checksum_types_client", crypto_checksum_types_client) if description is not None: pulumi.set(__self__, "description", description) + if enable_bulk_load is not None: + pulumi.set(__self__, "enable_bulk_load", enable_bulk_load) if encrypted_credential is not None: pulumi.set(__self__, "encrypted_credential", encrypted_credential) + if encryption_client is not None: + pulumi.set(__self__, "encryption_client", encryption_client) + if encryption_types_client is not None: + pulumi.set(__self__, "encryption_types_client", encryption_types_client) + if fetch_size is not None: + pulumi.set(__self__, "fetch_size", fetch_size) + if fetch_tswtz_as_timestamp is not None: + pulumi.set(__self__, "fetch_tswtz_as_timestamp", fetch_tswtz_as_timestamp) + if initial_lob_fetch_size is not None: + pulumi.set(__self__, "initial_lob_fetch_size", initial_lob_fetch_size) + if initialization_string is not None: + pulumi.set(__self__, "initialization_string", initialization_string) if parameters is not None: pulumi.set(__self__, "parameters", parameters) if password is not None: pulumi.set(__self__, "password", password) + if server is not None: + pulumi.set(__self__, "server", server) + if statement_cache_size is not None: + pulumi.set(__self__, "statement_cache_size", statement_cache_size) + if support_v1_data_types is not None: + pulumi.set(__self__, "support_v1_data_types", support_v1_data_types) + if username is not None: + pulumi.set(__self__, "username", username) if version is not None: pulumi.set(__self__, "version", version) @@ -57175,7 +57365,7 @@ def __init__(__self__, *, @pulumi.getter(name="connectionString") def connection_string(self) -> Any: """ - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only used for Version 1.0. """ return pulumi.get(self, "connection_string") @@ -57196,6 +57386,14 @@ def annotations(self) -> Optional[Sequence[Any]]: """ return pulumi.get(self, "annotations") + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> Optional[str]: + """ + Authentication type for connecting to the Oracle database. Only used for Version 2.0. + """ + return pulumi.get(self, "authentication_type") + @property @pulumi.getter(name="connectVia") def connect_via(self) -> Optional['outputs.IntegrationRuntimeReferenceResponse']: @@ -57204,6 +57402,22 @@ def connect_via(self) -> Optional['outputs.IntegrationRuntimeReferenceResponse'] """ return pulumi.get(self, "connect_via") + @property + @pulumi.getter(name="cryptoChecksumClient") + def crypto_checksum_client(self) -> Optional[Any]: + """ + Specifies the desired data integrity behavior when this client connects to a server. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "crypto_checksum_client") + + @property + @pulumi.getter(name="cryptoChecksumTypesClient") + def crypto_checksum_types_client(self) -> Optional[Any]: + """ + Specifies the crypto-checksum algorithms that client can use. Supported values are SHA1, SHA256, SHA384, SHA512, default value is (SHA512). Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "crypto_checksum_types_client") + @property @pulumi.getter def description(self) -> Optional[str]: @@ -57212,6 +57426,14 @@ def description(self) -> Optional[str]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="enableBulkLoad") + def enable_bulk_load(self) -> Optional[Any]: + """ + Specifies whether to use bulk copy or batch insert when loading data into the database, default value is true. Type: boolean. Only used for Version 2.0. + """ + return pulumi.get(self, "enable_bulk_load") + @property @pulumi.getter(name="encryptedCredential") def encrypted_credential(self) -> Optional[str]: @@ -57220,6 +57442,54 @@ def encrypted_credential(self) -> Optional[str]: """ return pulumi.get(self, "encrypted_credential") + @property + @pulumi.getter(name="encryptionClient") + def encryption_client(self) -> Optional[Any]: + """ + Specifies the encryption client behavior. Supported values are accepted, rejected, requested or required, default value is required. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "encryption_client") + + @property + @pulumi.getter(name="encryptionTypesClient") + def encryption_types_client(self) -> Optional[Any]: + """ + Specifies the encryption algorithms that client can use. Supported values are AES128, AES192, AES256, 3DES112, 3DES168, default value is (AES256). Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "encryption_types_client") + + @property + @pulumi.getter(name="fetchSize") + def fetch_size(self) -> Optional[Any]: + """ + Specifies the number of bytes that the driver allocates to fetch the data in one database round-trip, default value is 10485760. Type: integer. Only used for Version 2.0. + """ + return pulumi.get(self, "fetch_size") + + @property + @pulumi.getter(name="fetchTswtzAsTimestamp") + def fetch_tswtz_as_timestamp(self) -> Optional[Any]: + """ + Specifies whether the driver returns column value with the TIMESTAMP WITH TIME ZONE data type as DateTime or string. This setting is ignored if supportV1DataTypes is not true, default value is true. Type: boolean. Only used for Version 2.0. + """ + return pulumi.get(self, "fetch_tswtz_as_timestamp") + + @property + @pulumi.getter(name="initialLobFetchSize") + def initial_lob_fetch_size(self) -> Optional[Any]: + """ + Specifies the amount that the source initially fetches for LOB columns, default value is 0. Type: integer. Only used for Version 2.0. + """ + return pulumi.get(self, "initial_lob_fetch_size") + + @property + @pulumi.getter(name="initializationString") + def initialization_string(self) -> Optional[Any]: + """ + Specifies a command that is issued immediately after connecting to the database to manage session settings. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "initialization_string") + @property @pulumi.getter def parameters(self) -> Optional[Mapping[str, 'outputs.ParameterSpecificationResponse']]: @@ -57236,6 +57506,38 @@ def password(self) -> Optional['outputs.AzureKeyVaultSecretReferenceResponse']: """ return pulumi.get(self, "password") + @property + @pulumi.getter + def server(self) -> Optional[Any]: + """ + The location of Oracle database you want to connect to, the supported forms include connector descriptor, Easy Connect (Plus) Naming and Oracle Net Services Name (Only self-hosted IR). Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "server") + + @property + @pulumi.getter(name="statementCacheSize") + def statement_cache_size(self) -> Optional[Any]: + """ + Specifies the number of cursors or statements to be cached for each database connection, default value is 0. Type: integer. Only used for Version 2.0. + """ + return pulumi.get(self, "statement_cache_size") + + @property + @pulumi.getter(name="supportV1DataTypes") + def support_v1_data_types(self) -> Optional[Any]: + """ + Specifies whether to use the Version 1.0 data type mappings. Do not set this to true unless you want to keep backward compatibility with Version 1.0's data type mappings, default value is false. Type: boolean. Only used for Version 2.0. + """ + return pulumi.get(self, "support_v1_data_types") + + @property + @pulumi.getter + def username(self) -> Optional[Any]: + """ + The Oracle database username. Type: string. Only used for Version 2.0. + """ + return pulumi.get(self, "username") + @property @pulumi.getter def version(self) -> Optional[str]: @@ -85466,6 +85768,59 @@ def version(self) -> Optional[str]: return pulumi.get(self, "version") +@pulumi.output_type +class TeradataImportCommandResponse(dict): + """ + Teradata import command settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "additionalFormatOptions": + suggest = "additional_format_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TeradataImportCommandResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TeradataImportCommandResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TeradataImportCommandResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + additional_format_options: Optional[Any] = None): + """ + Teradata import command settings. + :param str type: The import setting type. + Expected value is 'TeradataImportCommand'. + :param Any additional_format_options: Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + """ + pulumi.set(__self__, "type", 'TeradataImportCommand') + if additional_format_options is not None: + pulumi.set(__self__, "additional_format_options", additional_format_options) + + @property + @pulumi.getter + def type(self) -> str: + """ + The import setting type. + Expected value is 'TeradataImportCommand'. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="additionalFormatOptions") + def additional_format_options(self) -> Optional[Any]: + """ + Additional format options for Teradata Copy Command. The format options only applies to direct copy from CSV source. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalFormatOptions": { "timeFormat": "HHhMImSSs" } + """ + return pulumi.get(self, "additional_format_options") + + @pulumi.output_type class TeradataLinkedServiceResponse(dict): """ @@ -85476,12 +85831,24 @@ def __key_warning(key: str): suggest = None if key == "authenticationType": suggest = "authentication_type" + elif key == "characterSet": + suggest = "character_set" elif key == "connectVia": suggest = "connect_via" elif key == "connectionString": suggest = "connection_string" elif key == "encryptedCredential": suggest = "encrypted_credential" + elif key == "httpsPortNumber": + suggest = "https_port_number" + elif key == "maxRespSize": + suggest = "max_resp_size" + elif key == "portNumber": + suggest = "port_number" + elif key == "sslMode": + suggest = "ssl_mode" + elif key == "useDataEncryption": + suggest = "use_data_encryption" if suggest: pulumi.log.warn(f"Key '{key}' not found in TeradataLinkedServiceResponse. Access the value via the '{suggest}' property getter instead.") @@ -85498,13 +85865,19 @@ def __init__(__self__, *, type: str, annotations: Optional[Sequence[Any]] = None, authentication_type: Optional[str] = None, + character_set: Optional[Any] = None, connect_via: Optional['outputs.IntegrationRuntimeReferenceResponse'] = None, connection_string: Optional[Any] = None, description: Optional[str] = None, encrypted_credential: Optional[str] = None, + https_port_number: Optional[Any] = None, + max_resp_size: Optional[Any] = None, parameters: Optional[Mapping[str, 'outputs.ParameterSpecificationResponse']] = None, password: Optional[Any] = None, + port_number: Optional[Any] = None, server: Optional[Any] = None, + ssl_mode: Optional[Any] = None, + use_data_encryption: Optional[Any] = None, username: Optional[Any] = None, version: Optional[str] = None): """ @@ -85513,13 +85886,19 @@ def __init__(__self__, *, Expected value is 'Teradata'. :param Sequence[Any] annotations: List of tags that can be used for describing the linked service. :param str authentication_type: AuthenticationType to be used for connection. + :param Any character_set: The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. :param 'IntegrationRuntimeReferenceResponse' connect_via: The integration runtime reference. - :param Any connection_string: Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + :param Any connection_string: Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. :param str description: Linked service description. :param str encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string. + :param Any https_port_number: The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + :param Any max_resp_size: The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. :param Mapping[str, 'ParameterSpecificationResponse'] parameters: Parameters for linked service. :param Union['AzureKeyVaultSecretReferenceResponse', 'SecureStringResponse'] password: Password for authentication. + :param Any port_number: The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. :param Any server: Server name for connection. Type: string (or Expression with resultType string). + :param Any ssl_mode: SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + :param Any use_data_encryption: Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. :param Any username: Username for authentication. Type: string (or Expression with resultType string). :param str version: Version of the linked service. """ @@ -85528,6 +85907,8 @@ def __init__(__self__, *, pulumi.set(__self__, "annotations", annotations) if authentication_type is not None: pulumi.set(__self__, "authentication_type", authentication_type) + if character_set is not None: + pulumi.set(__self__, "character_set", character_set) if connect_via is not None: pulumi.set(__self__, "connect_via", connect_via) if connection_string is not None: @@ -85536,12 +85917,22 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if encrypted_credential is not None: pulumi.set(__self__, "encrypted_credential", encrypted_credential) + if https_port_number is not None: + pulumi.set(__self__, "https_port_number", https_port_number) + if max_resp_size is not None: + pulumi.set(__self__, "max_resp_size", max_resp_size) if parameters is not None: pulumi.set(__self__, "parameters", parameters) if password is not None: pulumi.set(__self__, "password", password) + if port_number is not None: + pulumi.set(__self__, "port_number", port_number) if server is not None: pulumi.set(__self__, "server", server) + if ssl_mode is not None: + pulumi.set(__self__, "ssl_mode", ssl_mode) + if use_data_encryption is not None: + pulumi.set(__self__, "use_data_encryption", use_data_encryption) if username is not None: pulumi.set(__self__, "username", username) if version is not None: @@ -85572,6 +85963,14 @@ def authentication_type(self) -> Optional[str]: """ return pulumi.get(self, "authentication_type") + @property + @pulumi.getter(name="characterSet") + def character_set(self) -> Optional[Any]: + """ + The character set to use for the connection. Type: string (or Expression with resultType string). Only applied for version 2.0. + """ + return pulumi.get(self, "character_set") + @property @pulumi.getter(name="connectVia") def connect_via(self) -> Optional['outputs.IntegrationRuntimeReferenceResponse']: @@ -85584,7 +85983,7 @@ def connect_via(self) -> Optional['outputs.IntegrationRuntimeReferenceResponse'] @pulumi.getter(name="connectionString") def connection_string(self) -> Optional[Any]: """ - Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Only applied for version 1.0. """ return pulumi.get(self, "connection_string") @@ -85604,6 +86003,22 @@ def encrypted_credential(self) -> Optional[str]: """ return pulumi.get(self, "encrypted_credential") + @property + @pulumi.getter(name="httpsPortNumber") + def https_port_number(self) -> Optional[Any]: + """ + The port numbers when connecting to server through HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + """ + return pulumi.get(self, "https_port_number") + + @property + @pulumi.getter(name="maxRespSize") + def max_resp_size(self) -> Optional[Any]: + """ + The maximum size of the response buffer for SQL requests, in bytes. Type: integer. Only applied for version 2.0. + """ + return pulumi.get(self, "max_resp_size") + @property @pulumi.getter def parameters(self) -> Optional[Mapping[str, 'outputs.ParameterSpecificationResponse']]: @@ -85620,6 +86035,14 @@ def password(self) -> Optional[Any]: """ return pulumi.get(self, "password") + @property + @pulumi.getter(name="portNumber") + def port_number(self) -> Optional[Any]: + """ + The port numbers when connecting to server through non HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only used for V2. Only applied for version 2.0. + """ + return pulumi.get(self, "port_number") + @property @pulumi.getter def server(self) -> Optional[Any]: @@ -85628,6 +86051,22 @@ def server(self) -> Optional[Any]: """ return pulumi.get(self, "server") + @property + @pulumi.getter(name="sslMode") + def ssl_mode(self) -> Optional[Any]: + """ + SSL mode for connection. Valid values including: “Disable”, “Allow”, “Prefer”, “Require”, “Verify-CA”, “Verify-Full”. Default value is “Verify-Full”. Type: string (or Expression with resultType string). Only applied for version 2.0. + """ + return pulumi.get(self, "ssl_mode") + + @property + @pulumi.getter(name="useDataEncryption") + def use_data_encryption(self) -> Optional[Any]: + """ + Specifies whether to encrypt all communication with the Teradata database. Allowed values are 0 or 1. This setting will be ignored for HTTPS/TLS connections. Type: integer (or Expression with resultType integer). Only applied for version 2.0. + """ + return pulumi.get(self, "use_data_encryption") + @property @pulumi.getter def username(self) -> Optional[Any]: @@ -85713,6 +86152,143 @@ def partition_upper_bound(self) -> Optional[Any]: return pulumi.get(self, "partition_upper_bound") +@pulumi.output_type +class TeradataSinkResponse(dict): + """ + A copy activity Teradata sink. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "disableMetricsCollection": + suggest = "disable_metrics_collection" + elif key == "importSettings": + suggest = "import_settings" + elif key == "maxConcurrentConnections": + suggest = "max_concurrent_connections" + elif key == "sinkRetryCount": + suggest = "sink_retry_count" + elif key == "sinkRetryWait": + suggest = "sink_retry_wait" + elif key == "writeBatchSize": + suggest = "write_batch_size" + elif key == "writeBatchTimeout": + suggest = "write_batch_timeout" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TeradataSinkResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TeradataSinkResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TeradataSinkResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + disable_metrics_collection: Optional[Any] = None, + import_settings: Optional['outputs.TeradataImportCommandResponse'] = None, + max_concurrent_connections: Optional[Any] = None, + sink_retry_count: Optional[Any] = None, + sink_retry_wait: Optional[Any] = None, + write_batch_size: Optional[Any] = None, + write_batch_timeout: Optional[Any] = None): + """ + A copy activity Teradata sink. + :param str type: Copy sink type. + Expected value is 'TeradataSink'. + :param Any disable_metrics_collection: If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + :param 'TeradataImportCommandResponse' import_settings: Teradata import settings. + :param Any max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + :param Any sink_retry_count: Sink retry count. Type: integer (or Expression with resultType integer). + :param Any sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :param Any write_batch_size: Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + :param Any write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + pulumi.set(__self__, "type", 'TeradataSink') + if disable_metrics_collection is not None: + pulumi.set(__self__, "disable_metrics_collection", disable_metrics_collection) + if import_settings is not None: + pulumi.set(__self__, "import_settings", import_settings) + if max_concurrent_connections is not None: + pulumi.set(__self__, "max_concurrent_connections", max_concurrent_connections) + if sink_retry_count is not None: + pulumi.set(__self__, "sink_retry_count", sink_retry_count) + if sink_retry_wait is not None: + pulumi.set(__self__, "sink_retry_wait", sink_retry_wait) + if write_batch_size is not None: + pulumi.set(__self__, "write_batch_size", write_batch_size) + if write_batch_timeout is not None: + pulumi.set(__self__, "write_batch_timeout", write_batch_timeout) + + @property + @pulumi.getter + def type(self) -> str: + """ + Copy sink type. + Expected value is 'TeradataSink'. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="disableMetricsCollection") + def disable_metrics_collection(self) -> Optional[Any]: + """ + If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean). + """ + return pulumi.get(self, "disable_metrics_collection") + + @property + @pulumi.getter(name="importSettings") + def import_settings(self) -> Optional['outputs.TeradataImportCommandResponse']: + """ + Teradata import settings. + """ + return pulumi.get(self, "import_settings") + + @property + @pulumi.getter(name="maxConcurrentConnections") + def max_concurrent_connections(self) -> Optional[Any]: + """ + The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + """ + return pulumi.get(self, "max_concurrent_connections") + + @property + @pulumi.getter(name="sinkRetryCount") + def sink_retry_count(self) -> Optional[Any]: + """ + Sink retry count. Type: integer (or Expression with resultType integer). + """ + return pulumi.get(self, "sink_retry_count") + + @property + @pulumi.getter(name="sinkRetryWait") + def sink_retry_wait(self) -> Optional[Any]: + """ + Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + return pulumi.get(self, "sink_retry_wait") + + @property + @pulumi.getter(name="writeBatchSize") + def write_batch_size(self) -> Optional[Any]: + """ + Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + """ + return pulumi.get(self, "write_batch_size") + + @property + @pulumi.getter(name="writeBatchTimeout") + def write_batch_timeout(self) -> Optional[Any]: + """ + Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + """ + return pulumi.get(self, "write_batch_timeout") + + @pulumi.output_type class TeradataSourceResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/__init__.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/__init__.py index 41f2ae2b33e5..57dcc78606f3 100644 --- a/sdk/python/pulumi_azure_native/devopsinfrastructure/__init__.py +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/__init__.py @@ -23,10 +23,13 @@ v20240404preview = __v20240404preview import pulumi_azure_native.devopsinfrastructure.v20241019 as __v20241019 v20241019 = __v20241019 + import pulumi_azure_native.devopsinfrastructure.v20250121 as __v20250121 + v20250121 = __v20250121 else: v20231030preview = _utilities.lazy_import('pulumi_azure_native.devopsinfrastructure.v20231030preview') v20231213preview = _utilities.lazy_import('pulumi_azure_native.devopsinfrastructure.v20231213preview') v20240326preview = _utilities.lazy_import('pulumi_azure_native.devopsinfrastructure.v20240326preview') v20240404preview = _utilities.lazy_import('pulumi_azure_native.devopsinfrastructure.v20240404preview') v20241019 = _utilities.lazy_import('pulumi_azure_native.devopsinfrastructure.v20241019') + v20250121 = _utilities.lazy_import('pulumi_azure_native.devopsinfrastructure.v20250121') diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/get_pool.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/get_pool.py index 67f5ab69644f..be14567bbe35 100644 --- a/sdk/python/pulumi_azure_native/devopsinfrastructure/get_pool.py +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/get_pool.py @@ -201,7 +201,7 @@ def get_pool(pool_name: Optional[str] = None, Get a Pool Azure REST API version: 2023-10-30-preview. - Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19. + Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21. :param str pool_name: Name of the pool. It needs to be globally unique. @@ -234,7 +234,7 @@ def get_pool_output(pool_name: Optional[pulumi.Input[str]] = None, Get a Pool Azure REST API version: 2023-10-30-preview. - Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19. + Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21. :param str pool_name: Name of the pool. It needs to be globally unique. diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/pool.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/pool.py index 7fec17da09b8..38c03106191b 100644 --- a/sdk/python/pulumi_azure_native/devopsinfrastructure/pool.py +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/pool.py @@ -218,7 +218,7 @@ def __init__(__self__, Concrete tracked resource types can be created by aliasing this type using a specific property type. Azure REST API version: 2023-10-30-preview. - Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19. + Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -244,7 +244,7 @@ def __init__(__self__, Concrete tracked resource types can be created by aliasing this type using a specific property type. Azure REST API version: 2023-10-30-preview. - Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19. + Other available API versions: 2023-12-13-preview, 2024-03-26-preview, 2024-04-04-preview, 2024-10-19, 2025-01-21. :param str resource_name: The name of the resource. :param PoolArgs args: The arguments to use to populate this resource's properties. @@ -307,7 +307,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231030preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231213preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240326preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240404preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20241019:Pool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231030preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231213preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240326preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240404preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20241019:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20250121:Pool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Pool, __self__).__init__( 'azure-native:devopsinfrastructure:Pool', diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20231030preview/pool.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20231030preview/pool.py index 6e162dc197cd..0c1b203217df 100644 --- a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20231030preview/pool.py +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20231030preview/pool.py @@ -301,7 +301,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231213preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240326preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240404preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20241019:Pool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231213preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240326preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240404preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20241019:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20250121:Pool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Pool, __self__).__init__( 'azure-native:devopsinfrastructure/v20231030preview:Pool', diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20231213preview/pool.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20231213preview/pool.py index 19e6691c02c1..84d624241106 100644 --- a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20231213preview/pool.py +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20231213preview/pool.py @@ -301,7 +301,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231030preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240326preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240404preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20241019:Pool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231030preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240326preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240404preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20241019:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20250121:Pool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Pool, __self__).__init__( 'azure-native:devopsinfrastructure/v20231213preview:Pool', diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20240326preview/pool.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20240326preview/pool.py index 2faae555e4d8..d0840b8df969 100644 --- a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20240326preview/pool.py +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20240326preview/pool.py @@ -301,7 +301,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231030preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231213preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240404preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20241019:Pool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231030preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231213preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240404preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20241019:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20250121:Pool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Pool, __self__).__init__( 'azure-native:devopsinfrastructure/v20240326preview:Pool', diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20240404preview/pool.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20240404preview/pool.py index 9f0522728ef0..e03fa5824bb0 100644 --- a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20240404preview/pool.py +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20240404preview/pool.py @@ -301,7 +301,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231030preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231213preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240326preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20241019:Pool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231030preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231213preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240326preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20241019:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20250121:Pool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Pool, __self__).__init__( 'azure-native:devopsinfrastructure/v20240404preview:Pool', diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20241019/pool.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20241019/pool.py index 7d1e861938ca..63573a183246 100644 --- a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20241019/pool.py +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20241019/pool.py @@ -301,7 +301,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231030preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231213preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240326preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240404preview:Pool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231030preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231213preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240326preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240404preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20250121:Pool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Pool, __self__).__init__( 'azure-native:devopsinfrastructure/v20241019:Pool', diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/__init__.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/__init__.py new file mode 100644 index 000000000000..5cdd25e95d34 --- /dev/null +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .get_pool import * +from .pool import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/_enums.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/_enums.py new file mode 100644 index 000000000000..e5a6f5aed887 --- /dev/null +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/_enums.py @@ -0,0 +1,229 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'AzureDevOpsPermissionType', + 'CachingType', + 'CertificateStoreNameOption', + 'EphemeralType', + 'LogonType', + 'ManagedServiceIdentityType', + 'OsDiskStorageAccountType', + 'PredictionPreference', + 'ProvisioningState', + 'ResourcePredictionsProfileType', + 'StorageAccountType', +] + + +class AzureDevOpsPermissionType(str, Enum): + """ + Determines who has admin permissions to the Azure DevOps pool. + """ + INHERIT = "Inherit" + """ + Pool will inherit permissions from the project or organization. + """ + CREATOR_ONLY = "CreatorOnly" + """ + Only the pool creator will be an admin of the pool. + """ + SPECIFIC_ACCOUNTS = "SpecificAccounts" + """ + Only the specified accounts will be admins of the pool. + """ + + +class CachingType(str, Enum): + """ + The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. + """ + NONE = "None" + """ + Don't use host caching. + """ + READ_ONLY = "ReadOnly" + """ + For workloads that only do read operations. + """ + READ_WRITE = "ReadWrite" + """ + For workloads that do a balance of read and write operations. + """ + + +class CertificateStoreNameOption(str, Enum): + """ + Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported. + """ + MY = "My" + """ + The X.509 certificate store for personal certificates. + """ + ROOT = "Root" + """ + The X.509 certificate store for trusted root certificate authorities (CAs). + """ + + +class EphemeralType(str, Enum): + """ + The ephemeral type of the image. + """ + AUTOMATIC = "Automatic" + """ + Ephemeral is handled by Managed DevOps Pools service. + """ + CACHE_DISK = "CacheDisk" + """ + CacheDisk ephemeral only, requires that the SKU has a cache that is large enough for the image. + """ + RESOURCE_DISK = "ResourceDisk" + """ + ResourceDisk ephemeral only, requires only that the SKU supports it. + """ + + +class LogonType(str, Enum): + """ + Determines how the service should be run. By default, this will be set to Service. + """ + SERVICE = "Service" + """ + Run as a service. + """ + INTERACTIVE = "Interactive" + """ + Run in interactive mode. + """ + + +class ManagedServiceIdentityType(str, Enum): + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + NONE = "None" + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned" + + +class OsDiskStorageAccountType(str, Enum): + """ + The Azure SKU name of the machines in the pool. + """ + STANDARD = "Standard" + """ + Standard OS disk type. + """ + PREMIUM = "Premium" + """ + Premium OS disk type. + """ + STANDARD_SSD = "StandardSSD" + """ + Standard SSD OS disk type. + """ + + +class PredictionPreference(str, Enum): + """ + Determines the balance between cost and performance. + """ + BALANCED = "Balanced" + """ + Balance between cost and performance. + """ + MOST_COST_EFFECTIVE = "MostCostEffective" + """ + Optimizes for cost over performance. + """ + MORE_COST_EFFECTIVE = "MoreCostEffective" + """ + Halfway through cost and balanced. + """ + MORE_PERFORMANCE = "MorePerformance" + """ + Halfway through balanced and performance. + """ + BEST_PERFORMANCE = "BestPerformance" + """ + Optimizes for performance over cost. + """ + + +class ProvisioningState(str, Enum): + """ + The status of the current operation. + """ + SUCCEEDED = "Succeeded" + """ + Represents a succeeded operation. + """ + FAILED = "Failed" + """ + Represents a failed operation. + """ + CANCELED = "Canceled" + """ + Represents a canceled operation. + """ + PROVISIONING = "Provisioning" + """ + Represents a pending operation. + """ + UPDATING = "Updating" + """ + Represents a pending operation. + """ + DELETING = "Deleting" + """ + Represents an operation under deletion. + """ + ACCEPTED = "Accepted" + """ + Represents an accepted operation. + """ + + +class ResourcePredictionsProfileType(str, Enum): + """ + Determines how the stand-by scheme should be provided. + """ + MANUAL = "Manual" + """ + Customer provides the stand-by agent scheme. + """ + AUTOMATIC = "Automatic" + """ + The stand-by agent scheme is determined based on historical demand. + """ + + +class StorageAccountType(str, Enum): + """ + The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". + """ + STANDARD_LRS = "Standard_LRS" + """ + The data disk should use standard locally redundant storage. + """ + PREMIUM_LRS = "Premium_LRS" + """ + The data disk should use premium locally redundant storage. + """ + STANDARD_SSDLRS = "StandardSSD_LRS" + """ + The data disk should use standard SSD locally redundant storage. + """ + PREMIUM_ZRS = "Premium_ZRS" + """ + The data disk should use premium SSD zonal redundant storage. + """ + STANDARD_SSDZRS = "StandardSSD_ZRS" + """ + The data disk should use standard SSD zonal redundant storage. + """ diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/_inputs.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/_inputs.py new file mode 100644 index 000000000000..1aad689323dc --- /dev/null +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/_inputs.py @@ -0,0 +1,1390 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from ... import _utilities +from ._enums import * + +__all__ = [ + 'AutomaticResourcePredictionsProfileArgs', + 'AutomaticResourcePredictionsProfileArgsDict', + 'AzureDevOpsOrganizationProfileArgs', + 'AzureDevOpsOrganizationProfileArgsDict', + 'AzureDevOpsPermissionProfileArgs', + 'AzureDevOpsPermissionProfileArgsDict', + 'DataDiskArgs', + 'DataDiskArgsDict', + 'DevOpsAzureSkuArgs', + 'DevOpsAzureSkuArgsDict', + 'GitHubOrganizationProfileArgs', + 'GitHubOrganizationProfileArgsDict', + 'GitHubOrganizationArgs', + 'GitHubOrganizationArgsDict', + 'ManagedServiceIdentityArgs', + 'ManagedServiceIdentityArgsDict', + 'ManualResourcePredictionsProfileArgs', + 'ManualResourcePredictionsProfileArgsDict', + 'NetworkProfileArgs', + 'NetworkProfileArgsDict', + 'OrganizationArgs', + 'OrganizationArgsDict', + 'OsProfileArgs', + 'OsProfileArgsDict', + 'PoolImageArgs', + 'PoolImageArgsDict', + 'SecretsManagementSettingsArgs', + 'SecretsManagementSettingsArgsDict', + 'StatefulArgs', + 'StatefulArgsDict', + 'StatelessAgentProfileArgs', + 'StatelessAgentProfileArgsDict', + 'StorageProfileArgs', + 'StorageProfileArgsDict', + 'VmssFabricProfileArgs', + 'VmssFabricProfileArgsDict', +] + +MYPY = False + +if not MYPY: + class AutomaticResourcePredictionsProfileArgsDict(TypedDict): + """ + The stand-by agent scheme is determined based on historical demand. + """ + kind: pulumi.Input[str] + """ + Determines how the stand-by scheme should be provided. + Expected value is 'Automatic'. + """ + prediction_preference: NotRequired[pulumi.Input[Union[str, 'PredictionPreference']]] + """ + Determines the balance between cost and performance. + """ +elif False: + AutomaticResourcePredictionsProfileArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class AutomaticResourcePredictionsProfileArgs: + def __init__(__self__, *, + kind: pulumi.Input[str], + prediction_preference: Optional[pulumi.Input[Union[str, 'PredictionPreference']]] = None): + """ + The stand-by agent scheme is determined based on historical demand. + :param pulumi.Input[str] kind: Determines how the stand-by scheme should be provided. + Expected value is 'Automatic'. + :param pulumi.Input[Union[str, 'PredictionPreference']] prediction_preference: Determines the balance between cost and performance. + """ + pulumi.set(__self__, "kind", 'Automatic') + if prediction_preference is not None: + pulumi.set(__self__, "prediction_preference", prediction_preference) + + @property + @pulumi.getter + def kind(self) -> pulumi.Input[str]: + """ + Determines how the stand-by scheme should be provided. + Expected value is 'Automatic'. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: pulumi.Input[str]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter(name="predictionPreference") + def prediction_preference(self) -> Optional[pulumi.Input[Union[str, 'PredictionPreference']]]: + """ + Determines the balance between cost and performance. + """ + return pulumi.get(self, "prediction_preference") + + @prediction_preference.setter + def prediction_preference(self, value: Optional[pulumi.Input[Union[str, 'PredictionPreference']]]): + pulumi.set(self, "prediction_preference", value) + + +if not MYPY: + class AzureDevOpsOrganizationProfileArgsDict(TypedDict): + """ + Azure DevOps organization profile + """ + kind: pulumi.Input[str] + """ + Discriminator property for OrganizationProfile. + Expected value is 'AzureDevOps'. + """ + organizations: pulumi.Input[Sequence[pulumi.Input['OrganizationArgsDict']]] + """ + The list of Azure DevOps organizations the pool should be present in. + """ + permission_profile: NotRequired[pulumi.Input['AzureDevOpsPermissionProfileArgsDict']] + """ + The type of permission which determines which accounts are admins on the Azure DevOps pool. + """ +elif False: + AzureDevOpsOrganizationProfileArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class AzureDevOpsOrganizationProfileArgs: + def __init__(__self__, *, + kind: pulumi.Input[str], + organizations: pulumi.Input[Sequence[pulumi.Input['OrganizationArgs']]], + permission_profile: Optional[pulumi.Input['AzureDevOpsPermissionProfileArgs']] = None): + """ + Azure DevOps organization profile + :param pulumi.Input[str] kind: Discriminator property for OrganizationProfile. + Expected value is 'AzureDevOps'. + :param pulumi.Input[Sequence[pulumi.Input['OrganizationArgs']]] organizations: The list of Azure DevOps organizations the pool should be present in. + :param pulumi.Input['AzureDevOpsPermissionProfileArgs'] permission_profile: The type of permission which determines which accounts are admins on the Azure DevOps pool. + """ + pulumi.set(__self__, "kind", 'AzureDevOps') + pulumi.set(__self__, "organizations", organizations) + if permission_profile is not None: + pulumi.set(__self__, "permission_profile", permission_profile) + + @property + @pulumi.getter + def kind(self) -> pulumi.Input[str]: + """ + Discriminator property for OrganizationProfile. + Expected value is 'AzureDevOps'. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: pulumi.Input[str]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter + def organizations(self) -> pulumi.Input[Sequence[pulumi.Input['OrganizationArgs']]]: + """ + The list of Azure DevOps organizations the pool should be present in. + """ + return pulumi.get(self, "organizations") + + @organizations.setter + def organizations(self, value: pulumi.Input[Sequence[pulumi.Input['OrganizationArgs']]]): + pulumi.set(self, "organizations", value) + + @property + @pulumi.getter(name="permissionProfile") + def permission_profile(self) -> Optional[pulumi.Input['AzureDevOpsPermissionProfileArgs']]: + """ + The type of permission which determines which accounts are admins on the Azure DevOps pool. + """ + return pulumi.get(self, "permission_profile") + + @permission_profile.setter + def permission_profile(self, value: Optional[pulumi.Input['AzureDevOpsPermissionProfileArgs']]): + pulumi.set(self, "permission_profile", value) + + +if not MYPY: + class AzureDevOpsPermissionProfileArgsDict(TypedDict): + """ + Defines the type of Azure DevOps pool permission. + """ + kind: pulumi.Input[Union[str, 'AzureDevOpsPermissionType']] + """ + Determines who has admin permissions to the Azure DevOps pool. + """ + groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Group email addresses + """ + users: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + User email addresses + """ +elif False: + AzureDevOpsPermissionProfileArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class AzureDevOpsPermissionProfileArgs: + def __init__(__self__, *, + kind: pulumi.Input[Union[str, 'AzureDevOpsPermissionType']], + groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Defines the type of Azure DevOps pool permission. + :param pulumi.Input[Union[str, 'AzureDevOpsPermissionType']] kind: Determines who has admin permissions to the Azure DevOps pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] groups: Group email addresses + :param pulumi.Input[Sequence[pulumi.Input[str]]] users: User email addresses + """ + pulumi.set(__self__, "kind", kind) + if groups is not None: + pulumi.set(__self__, "groups", groups) + if users is not None: + pulumi.set(__self__, "users", users) + + @property + @pulumi.getter + def kind(self) -> pulumi.Input[Union[str, 'AzureDevOpsPermissionType']]: + """ + Determines who has admin permissions to the Azure DevOps pool. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: pulumi.Input[Union[str, 'AzureDevOpsPermissionType']]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter + def groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Group email addresses + """ + return pulumi.get(self, "groups") + + @groups.setter + def groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "groups", value) + + @property + @pulumi.getter + def users(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + User email addresses + """ + return pulumi.get(self, "users") + + @users.setter + def users(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "users", value) + + +if not MYPY: + class DataDiskArgsDict(TypedDict): + """ + The data disk of the VMSS. + """ + caching: NotRequired[pulumi.Input[Union[str, 'CachingType']]] + """ + The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. + """ + disk_size_gi_b: NotRequired[pulumi.Input[int]] + """ + The initial disk size in gigabytes. + """ + drive_letter: NotRequired[pulumi.Input[str]] + """ + The drive letter for the empty data disk. If not specified, it will be the first available letter. + """ + storage_account_type: NotRequired[pulumi.Input[Union[str, 'StorageAccountType']]] + """ + The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". + """ +elif False: + DataDiskArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataDiskArgs: + def __init__(__self__, *, + caching: Optional[pulumi.Input[Union[str, 'CachingType']]] = None, + disk_size_gi_b: Optional[pulumi.Input[int]] = None, + drive_letter: Optional[pulumi.Input[str]] = None, + storage_account_type: Optional[pulumi.Input[Union[str, 'StorageAccountType']]] = None): + """ + The data disk of the VMSS. + :param pulumi.Input[Union[str, 'CachingType']] caching: The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. + :param pulumi.Input[int] disk_size_gi_b: The initial disk size in gigabytes. + :param pulumi.Input[str] drive_letter: The drive letter for the empty data disk. If not specified, it will be the first available letter. + :param pulumi.Input[Union[str, 'StorageAccountType']] storage_account_type: The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". + """ + if caching is not None: + pulumi.set(__self__, "caching", caching) + if disk_size_gi_b is not None: + pulumi.set(__self__, "disk_size_gi_b", disk_size_gi_b) + if drive_letter is not None: + pulumi.set(__self__, "drive_letter", drive_letter) + if storage_account_type is not None: + pulumi.set(__self__, "storage_account_type", storage_account_type) + + @property + @pulumi.getter + def caching(self) -> Optional[pulumi.Input[Union[str, 'CachingType']]]: + """ + The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. + """ + return pulumi.get(self, "caching") + + @caching.setter + def caching(self, value: Optional[pulumi.Input[Union[str, 'CachingType']]]): + pulumi.set(self, "caching", value) + + @property + @pulumi.getter(name="diskSizeGiB") + def disk_size_gi_b(self) -> Optional[pulumi.Input[int]]: + """ + The initial disk size in gigabytes. + """ + return pulumi.get(self, "disk_size_gi_b") + + @disk_size_gi_b.setter + def disk_size_gi_b(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size_gi_b", value) + + @property + @pulumi.getter(name="driveLetter") + def drive_letter(self) -> Optional[pulumi.Input[str]]: + """ + The drive letter for the empty data disk. If not specified, it will be the first available letter. + """ + return pulumi.get(self, "drive_letter") + + @drive_letter.setter + def drive_letter(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "drive_letter", value) + + @property + @pulumi.getter(name="storageAccountType") + def storage_account_type(self) -> Optional[pulumi.Input[Union[str, 'StorageAccountType']]]: + """ + The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". + """ + return pulumi.get(self, "storage_account_type") + + @storage_account_type.setter + def storage_account_type(self, value: Optional[pulumi.Input[Union[str, 'StorageAccountType']]]): + pulumi.set(self, "storage_account_type", value) + + +if not MYPY: + class DevOpsAzureSkuArgsDict(TypedDict): + """ + The Azure SKU of the machines in the pool. + """ + name: pulumi.Input[str] + """ + The Azure SKU name of the machines in the pool. + """ +elif False: + DevOpsAzureSkuArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DevOpsAzureSkuArgs: + def __init__(__self__, *, + name: pulumi.Input[str]): + """ + The Azure SKU of the machines in the pool. + :param pulumi.Input[str] name: The Azure SKU name of the machines in the pool. + """ + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The Azure SKU name of the machines in the pool. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + +if not MYPY: + class GitHubOrganizationProfileArgsDict(TypedDict): + """ + GitHub organization profile + """ + kind: pulumi.Input[str] + """ + Discriminator property for OrganizationProfile. + Expected value is 'GitHub'. + """ + organizations: pulumi.Input[Sequence[pulumi.Input['GitHubOrganizationArgsDict']]] + """ + The list of GitHub organizations/repositories the pool should be present in. + """ +elif False: + GitHubOrganizationProfileArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GitHubOrganizationProfileArgs: + def __init__(__self__, *, + kind: pulumi.Input[str], + organizations: pulumi.Input[Sequence[pulumi.Input['GitHubOrganizationArgs']]]): + """ + GitHub organization profile + :param pulumi.Input[str] kind: Discriminator property for OrganizationProfile. + Expected value is 'GitHub'. + :param pulumi.Input[Sequence[pulumi.Input['GitHubOrganizationArgs']]] organizations: The list of GitHub organizations/repositories the pool should be present in. + """ + pulumi.set(__self__, "kind", 'GitHub') + pulumi.set(__self__, "organizations", organizations) + + @property + @pulumi.getter + def kind(self) -> pulumi.Input[str]: + """ + Discriminator property for OrganizationProfile. + Expected value is 'GitHub'. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: pulumi.Input[str]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter + def organizations(self) -> pulumi.Input[Sequence[pulumi.Input['GitHubOrganizationArgs']]]: + """ + The list of GitHub organizations/repositories the pool should be present in. + """ + return pulumi.get(self, "organizations") + + @organizations.setter + def organizations(self, value: pulumi.Input[Sequence[pulumi.Input['GitHubOrganizationArgs']]]): + pulumi.set(self, "organizations", value) + + +if not MYPY: + class GitHubOrganizationArgsDict(TypedDict): + """ + Defines a GitHub organization + """ + url: pulumi.Input[str] + """ + The GitHub organization URL in which the pool should be created. + """ + repositories: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Optional list of repositories in which the pool should be created. + """ +elif False: + GitHubOrganizationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GitHubOrganizationArgs: + def __init__(__self__, *, + url: pulumi.Input[str], + repositories: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Defines a GitHub organization + :param pulumi.Input[str] url: The GitHub organization URL in which the pool should be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] repositories: Optional list of repositories in which the pool should be created. + """ + pulumi.set(__self__, "url", url) + if repositories is not None: + pulumi.set(__self__, "repositories", repositories) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + The GitHub organization URL in which the pool should be created. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def repositories(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Optional list of repositories in which the pool should be created. + """ + return pulumi.get(self, "repositories") + + @repositories.setter + def repositories(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "repositories", value) + + +if not MYPY: + class ManagedServiceIdentityArgsDict(TypedDict): + """ + Managed service identity (system assigned and/or user assigned identities) + """ + type: pulumi.Input[Union[str, 'ManagedServiceIdentityType']] + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + user_assigned_identities: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ +elif False: + ManagedServiceIdentityArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ManagedServiceIdentityArgs: + def __init__(__self__, *, + type: pulumi.Input[Union[str, 'ManagedServiceIdentityType']], + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Managed service identity (system assigned and/or user assigned identities) + :param pulumi.Input[Union[str, 'ManagedServiceIdentityType']] type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[Union[str, 'ManagedServiceIdentityType']]: + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[Union[str, 'ManagedServiceIdentityType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_assigned_identities", value) + + +if not MYPY: + class ManualResourcePredictionsProfileArgsDict(TypedDict): + """ + Customer provides the stand-by agent scheme. + """ + kind: pulumi.Input[str] + """ + Determines how the stand-by scheme should be provided. + Expected value is 'Manual'. + """ +elif False: + ManualResourcePredictionsProfileArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ManualResourcePredictionsProfileArgs: + def __init__(__self__, *, + kind: pulumi.Input[str]): + """ + Customer provides the stand-by agent scheme. + :param pulumi.Input[str] kind: Determines how the stand-by scheme should be provided. + Expected value is 'Manual'. + """ + pulumi.set(__self__, "kind", 'Manual') + + @property + @pulumi.getter + def kind(self) -> pulumi.Input[str]: + """ + Determines how the stand-by scheme should be provided. + Expected value is 'Manual'. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: pulumi.Input[str]): + pulumi.set(self, "kind", value) + + +if not MYPY: + class NetworkProfileArgsDict(TypedDict): + """ + The network profile of the machines in the pool. + """ + subnet_id: pulumi.Input[str] + """ + The subnet id on which to put all machines created in the pool. + """ +elif False: + NetworkProfileArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NetworkProfileArgs: + def __init__(__self__, *, + subnet_id: pulumi.Input[str]): + """ + The network profile of the machines in the pool. + :param pulumi.Input[str] subnet_id: The subnet id on which to put all machines created in the pool. + """ + pulumi.set(__self__, "subnet_id", subnet_id) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> pulumi.Input[str]: + """ + The subnet id on which to put all machines created in the pool. + """ + return pulumi.get(self, "subnet_id") + + @subnet_id.setter + def subnet_id(self, value: pulumi.Input[str]): + pulumi.set(self, "subnet_id", value) + + +if not MYPY: + class OrganizationArgsDict(TypedDict): + """ + Defines an Azure DevOps organization. + """ + url: pulumi.Input[str] + """ + The Azure DevOps organization URL in which the pool should be created. + """ + open_access: NotRequired[pulumi.Input[bool]] + """ + Determines if the pool should have open access to all projects in this organization. + """ + parallelism: NotRequired[pulumi.Input[int]] + """ + How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool. + """ + projects: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Optional list of projects in which the pool should be created. + """ +elif False: + OrganizationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class OrganizationArgs: + def __init__(__self__, *, + url: pulumi.Input[str], + open_access: Optional[pulumi.Input[bool]] = None, + parallelism: Optional[pulumi.Input[int]] = None, + projects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Defines an Azure DevOps organization. + :param pulumi.Input[str] url: The Azure DevOps organization URL in which the pool should be created. + :param pulumi.Input[bool] open_access: Determines if the pool should have open access to all projects in this organization. + :param pulumi.Input[int] parallelism: How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] projects: Optional list of projects in which the pool should be created. + """ + pulumi.set(__self__, "url", url) + if open_access is not None: + pulumi.set(__self__, "open_access", open_access) + if parallelism is not None: + pulumi.set(__self__, "parallelism", parallelism) + if projects is not None: + pulumi.set(__self__, "projects", projects) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + The Azure DevOps organization URL in which the pool should be created. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter(name="openAccess") + def open_access(self) -> Optional[pulumi.Input[bool]]: + """ + Determines if the pool should have open access to all projects in this organization. + """ + return pulumi.get(self, "open_access") + + @open_access.setter + def open_access(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "open_access", value) + + @property + @pulumi.getter + def parallelism(self) -> Optional[pulumi.Input[int]]: + """ + How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool. + """ + return pulumi.get(self, "parallelism") + + @parallelism.setter + def parallelism(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "parallelism", value) + + @property + @pulumi.getter + def projects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Optional list of projects in which the pool should be created. + """ + return pulumi.get(self, "projects") + + @projects.setter + def projects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "projects", value) + + +if not MYPY: + class OsProfileArgsDict(TypedDict): + """ + The OS profile of the machines in the pool. + """ + logon_type: NotRequired[pulumi.Input[Union[str, 'LogonType']]] + """ + Determines how the service should be run. By default, this will be set to Service. + """ + secrets_management_settings: NotRequired[pulumi.Input['SecretsManagementSettingsArgsDict']] + """ + The secret management settings of the machines in the pool. + """ +elif False: + OsProfileArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class OsProfileArgs: + def __init__(__self__, *, + logon_type: Optional[pulumi.Input[Union[str, 'LogonType']]] = None, + secrets_management_settings: Optional[pulumi.Input['SecretsManagementSettingsArgs']] = None): + """ + The OS profile of the machines in the pool. + :param pulumi.Input[Union[str, 'LogonType']] logon_type: Determines how the service should be run. By default, this will be set to Service. + :param pulumi.Input['SecretsManagementSettingsArgs'] secrets_management_settings: The secret management settings of the machines in the pool. + """ + if logon_type is not None: + pulumi.set(__self__, "logon_type", logon_type) + if secrets_management_settings is not None: + pulumi.set(__self__, "secrets_management_settings", secrets_management_settings) + + @property + @pulumi.getter(name="logonType") + def logon_type(self) -> Optional[pulumi.Input[Union[str, 'LogonType']]]: + """ + Determines how the service should be run. By default, this will be set to Service. + """ + return pulumi.get(self, "logon_type") + + @logon_type.setter + def logon_type(self, value: Optional[pulumi.Input[Union[str, 'LogonType']]]): + pulumi.set(self, "logon_type", value) + + @property + @pulumi.getter(name="secretsManagementSettings") + def secrets_management_settings(self) -> Optional[pulumi.Input['SecretsManagementSettingsArgs']]: + """ + The secret management settings of the machines in the pool. + """ + return pulumi.get(self, "secrets_management_settings") + + @secrets_management_settings.setter + def secrets_management_settings(self, value: Optional[pulumi.Input['SecretsManagementSettingsArgs']]): + pulumi.set(self, "secrets_management_settings", value) + + +if not MYPY: + class PoolImageArgsDict(TypedDict): + """ + The VM image of the machines in the pool. + """ + aliases: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + List of aliases to reference the image by. + """ + buffer: NotRequired[pulumi.Input[str]] + """ + The percentage of the buffer to be allocated to this image. + """ + ephemeral_type: NotRequired[pulumi.Input[Union[str, 'EphemeralType']]] + """ + The ephemeral type of the image. + """ + resource_id: NotRequired[pulumi.Input[str]] + """ + The resource id of the image. + """ + well_known_image_name: NotRequired[pulumi.Input[str]] + """ + The image to use from a well-known set of images made available to customers. + """ +elif False: + PoolImageArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class PoolImageArgs: + def __init__(__self__, *, + aliases: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + buffer: Optional[pulumi.Input[str]] = None, + ephemeral_type: Optional[pulumi.Input[Union[str, 'EphemeralType']]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + well_known_image_name: Optional[pulumi.Input[str]] = None): + """ + The VM image of the machines in the pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] aliases: List of aliases to reference the image by. + :param pulumi.Input[str] buffer: The percentage of the buffer to be allocated to this image. + :param pulumi.Input[Union[str, 'EphemeralType']] ephemeral_type: The ephemeral type of the image. + :param pulumi.Input[str] resource_id: The resource id of the image. + :param pulumi.Input[str] well_known_image_name: The image to use from a well-known set of images made available to customers. + """ + if aliases is not None: + pulumi.set(__self__, "aliases", aliases) + if buffer is None: + buffer = '*' + if buffer is not None: + pulumi.set(__self__, "buffer", buffer) + if ephemeral_type is not None: + pulumi.set(__self__, "ephemeral_type", ephemeral_type) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if well_known_image_name is not None: + pulumi.set(__self__, "well_known_image_name", well_known_image_name) + + @property + @pulumi.getter + def aliases(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of aliases to reference the image by. + """ + return pulumi.get(self, "aliases") + + @aliases.setter + def aliases(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "aliases", value) + + @property + @pulumi.getter + def buffer(self) -> Optional[pulumi.Input[str]]: + """ + The percentage of the buffer to be allocated to this image. + """ + return pulumi.get(self, "buffer") + + @buffer.setter + def buffer(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "buffer", value) + + @property + @pulumi.getter(name="ephemeralType") + def ephemeral_type(self) -> Optional[pulumi.Input[Union[str, 'EphemeralType']]]: + """ + The ephemeral type of the image. + """ + return pulumi.get(self, "ephemeral_type") + + @ephemeral_type.setter + def ephemeral_type(self, value: Optional[pulumi.Input[Union[str, 'EphemeralType']]]): + pulumi.set(self, "ephemeral_type", value) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[str]]: + """ + The resource id of the image. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_id", value) + + @property + @pulumi.getter(name="wellKnownImageName") + def well_known_image_name(self) -> Optional[pulumi.Input[str]]: + """ + The image to use from a well-known set of images made available to customers. + """ + return pulumi.get(self, "well_known_image_name") + + @well_known_image_name.setter + def well_known_image_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "well_known_image_name", value) + + +if not MYPY: + class SecretsManagementSettingsArgsDict(TypedDict): + """ + The secret management settings of the machines in the pool. + """ + key_exportable: pulumi.Input[bool] + """ + Defines if the key of the certificates should be exportable. + """ + observed_certificates: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + The list of certificates to install on all machines in the pool. + """ + certificate_store_location: NotRequired[pulumi.Input[str]] + """ + Where to store certificates on the machine. + """ + certificate_store_name: NotRequired[pulumi.Input[Union[str, 'CertificateStoreNameOption']]] + """ + Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported. + """ +elif False: + SecretsManagementSettingsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SecretsManagementSettingsArgs: + def __init__(__self__, *, + key_exportable: pulumi.Input[bool], + observed_certificates: pulumi.Input[Sequence[pulumi.Input[str]]], + certificate_store_location: Optional[pulumi.Input[str]] = None, + certificate_store_name: Optional[pulumi.Input[Union[str, 'CertificateStoreNameOption']]] = None): + """ + The secret management settings of the machines in the pool. + :param pulumi.Input[bool] key_exportable: Defines if the key of the certificates should be exportable. + :param pulumi.Input[Sequence[pulumi.Input[str]]] observed_certificates: The list of certificates to install on all machines in the pool. + :param pulumi.Input[str] certificate_store_location: Where to store certificates on the machine. + :param pulumi.Input[Union[str, 'CertificateStoreNameOption']] certificate_store_name: Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported. + """ + pulumi.set(__self__, "key_exportable", key_exportable) + pulumi.set(__self__, "observed_certificates", observed_certificates) + if certificate_store_location is not None: + pulumi.set(__self__, "certificate_store_location", certificate_store_location) + if certificate_store_name is not None: + pulumi.set(__self__, "certificate_store_name", certificate_store_name) + + @property + @pulumi.getter(name="keyExportable") + def key_exportable(self) -> pulumi.Input[bool]: + """ + Defines if the key of the certificates should be exportable. + """ + return pulumi.get(self, "key_exportable") + + @key_exportable.setter + def key_exportable(self, value: pulumi.Input[bool]): + pulumi.set(self, "key_exportable", value) + + @property + @pulumi.getter(name="observedCertificates") + def observed_certificates(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + The list of certificates to install on all machines in the pool. + """ + return pulumi.get(self, "observed_certificates") + + @observed_certificates.setter + def observed_certificates(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "observed_certificates", value) + + @property + @pulumi.getter(name="certificateStoreLocation") + def certificate_store_location(self) -> Optional[pulumi.Input[str]]: + """ + Where to store certificates on the machine. + """ + return pulumi.get(self, "certificate_store_location") + + @certificate_store_location.setter + def certificate_store_location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate_store_location", value) + + @property + @pulumi.getter(name="certificateStoreName") + def certificate_store_name(self) -> Optional[pulumi.Input[Union[str, 'CertificateStoreNameOption']]]: + """ + Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported. + """ + return pulumi.get(self, "certificate_store_name") + + @certificate_store_name.setter + def certificate_store_name(self, value: Optional[pulumi.Input[Union[str, 'CertificateStoreNameOption']]]): + pulumi.set(self, "certificate_store_name", value) + + +if not MYPY: + class StatefulArgsDict(TypedDict): + """ + Stateful profile meaning that the machines will be returned to the pool after running a job. + """ + kind: pulumi.Input[str] + """ + Discriminator property for AgentProfile. + Expected value is 'Stateful'. + """ + grace_period_time_span: NotRequired[pulumi.Input[str]] + """ + How long should the machine be kept around after it ran a workload when there are no stand-by agents. The maximum is one week. + """ + max_agent_lifetime: NotRequired[pulumi.Input[str]] + """ + How long should stateful machines be kept around. The maximum is one week. + """ + resource_predictions: NotRequired[Any] + """ + Defines pool buffer/stand-by agents. + """ + resource_predictions_profile: NotRequired[pulumi.Input[Union['AutomaticResourcePredictionsProfileArgsDict', 'ManualResourcePredictionsProfileArgsDict']]] + """ + Defines how the pool buffer/stand-by agents is provided. + """ +elif False: + StatefulArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class StatefulArgs: + def __init__(__self__, *, + kind: pulumi.Input[str], + grace_period_time_span: Optional[pulumi.Input[str]] = None, + max_agent_lifetime: Optional[pulumi.Input[str]] = None, + resource_predictions: Optional[Any] = None, + resource_predictions_profile: Optional[pulumi.Input[Union['AutomaticResourcePredictionsProfileArgs', 'ManualResourcePredictionsProfileArgs']]] = None): + """ + Stateful profile meaning that the machines will be returned to the pool after running a job. + :param pulumi.Input[str] kind: Discriminator property for AgentProfile. + Expected value is 'Stateful'. + :param pulumi.Input[str] grace_period_time_span: How long should the machine be kept around after it ran a workload when there are no stand-by agents. The maximum is one week. + :param pulumi.Input[str] max_agent_lifetime: How long should stateful machines be kept around. The maximum is one week. + :param Any resource_predictions: Defines pool buffer/stand-by agents. + :param pulumi.Input[Union['AutomaticResourcePredictionsProfileArgs', 'ManualResourcePredictionsProfileArgs']] resource_predictions_profile: Defines how the pool buffer/stand-by agents is provided. + """ + pulumi.set(__self__, "kind", 'Stateful') + if grace_period_time_span is not None: + pulumi.set(__self__, "grace_period_time_span", grace_period_time_span) + if max_agent_lifetime is not None: + pulumi.set(__self__, "max_agent_lifetime", max_agent_lifetime) + if resource_predictions is not None: + pulumi.set(__self__, "resource_predictions", resource_predictions) + if resource_predictions_profile is not None: + pulumi.set(__self__, "resource_predictions_profile", resource_predictions_profile) + + @property + @pulumi.getter + def kind(self) -> pulumi.Input[str]: + """ + Discriminator property for AgentProfile. + Expected value is 'Stateful'. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: pulumi.Input[str]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter(name="gracePeriodTimeSpan") + def grace_period_time_span(self) -> Optional[pulumi.Input[str]]: + """ + How long should the machine be kept around after it ran a workload when there are no stand-by agents. The maximum is one week. + """ + return pulumi.get(self, "grace_period_time_span") + + @grace_period_time_span.setter + def grace_period_time_span(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "grace_period_time_span", value) + + @property + @pulumi.getter(name="maxAgentLifetime") + def max_agent_lifetime(self) -> Optional[pulumi.Input[str]]: + """ + How long should stateful machines be kept around. The maximum is one week. + """ + return pulumi.get(self, "max_agent_lifetime") + + @max_agent_lifetime.setter + def max_agent_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "max_agent_lifetime", value) + + @property + @pulumi.getter(name="resourcePredictions") + def resource_predictions(self) -> Optional[Any]: + """ + Defines pool buffer/stand-by agents. + """ + return pulumi.get(self, "resource_predictions") + + @resource_predictions.setter + def resource_predictions(self, value: Optional[Any]): + pulumi.set(self, "resource_predictions", value) + + @property + @pulumi.getter(name="resourcePredictionsProfile") + def resource_predictions_profile(self) -> Optional[pulumi.Input[Union['AutomaticResourcePredictionsProfileArgs', 'ManualResourcePredictionsProfileArgs']]]: + """ + Defines how the pool buffer/stand-by agents is provided. + """ + return pulumi.get(self, "resource_predictions_profile") + + @resource_predictions_profile.setter + def resource_predictions_profile(self, value: Optional[pulumi.Input[Union['AutomaticResourcePredictionsProfileArgs', 'ManualResourcePredictionsProfileArgs']]]): + pulumi.set(self, "resource_predictions_profile", value) + + +if not MYPY: + class StatelessAgentProfileArgsDict(TypedDict): + """ + Stateless profile meaning that the machines will be cleaned up after running a job. + """ + kind: pulumi.Input[str] + """ + Discriminator property for AgentProfile. + Expected value is 'Stateless'. + """ + resource_predictions: NotRequired[Any] + """ + Defines pool buffer/stand-by agents. + """ + resource_predictions_profile: NotRequired[pulumi.Input[Union['AutomaticResourcePredictionsProfileArgsDict', 'ManualResourcePredictionsProfileArgsDict']]] + """ + Defines how the pool buffer/stand-by agents is provided. + """ +elif False: + StatelessAgentProfileArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class StatelessAgentProfileArgs: + def __init__(__self__, *, + kind: pulumi.Input[str], + resource_predictions: Optional[Any] = None, + resource_predictions_profile: Optional[pulumi.Input[Union['AutomaticResourcePredictionsProfileArgs', 'ManualResourcePredictionsProfileArgs']]] = None): + """ + Stateless profile meaning that the machines will be cleaned up after running a job. + :param pulumi.Input[str] kind: Discriminator property for AgentProfile. + Expected value is 'Stateless'. + :param Any resource_predictions: Defines pool buffer/stand-by agents. + :param pulumi.Input[Union['AutomaticResourcePredictionsProfileArgs', 'ManualResourcePredictionsProfileArgs']] resource_predictions_profile: Defines how the pool buffer/stand-by agents is provided. + """ + pulumi.set(__self__, "kind", 'Stateless') + if resource_predictions is not None: + pulumi.set(__self__, "resource_predictions", resource_predictions) + if resource_predictions_profile is not None: + pulumi.set(__self__, "resource_predictions_profile", resource_predictions_profile) + + @property + @pulumi.getter + def kind(self) -> pulumi.Input[str]: + """ + Discriminator property for AgentProfile. + Expected value is 'Stateless'. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: pulumi.Input[str]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter(name="resourcePredictions") + def resource_predictions(self) -> Optional[Any]: + """ + Defines pool buffer/stand-by agents. + """ + return pulumi.get(self, "resource_predictions") + + @resource_predictions.setter + def resource_predictions(self, value: Optional[Any]): + pulumi.set(self, "resource_predictions", value) + + @property + @pulumi.getter(name="resourcePredictionsProfile") + def resource_predictions_profile(self) -> Optional[pulumi.Input[Union['AutomaticResourcePredictionsProfileArgs', 'ManualResourcePredictionsProfileArgs']]]: + """ + Defines how the pool buffer/stand-by agents is provided. + """ + return pulumi.get(self, "resource_predictions_profile") + + @resource_predictions_profile.setter + def resource_predictions_profile(self, value: Optional[pulumi.Input[Union['AutomaticResourcePredictionsProfileArgs', 'ManualResourcePredictionsProfileArgs']]]): + pulumi.set(self, "resource_predictions_profile", value) + + +if not MYPY: + class StorageProfileArgsDict(TypedDict): + """ + The storage profile of the VMSS. + """ + data_disks: NotRequired[pulumi.Input[Sequence[pulumi.Input['DataDiskArgsDict']]]] + """ + A list of empty data disks to attach. + """ + os_disk_storage_account_type: NotRequired[pulumi.Input[Union[str, 'OsDiskStorageAccountType']]] + """ + The Azure SKU name of the machines in the pool. + """ +elif False: + StorageProfileArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class StorageProfileArgs: + def __init__(__self__, *, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['DataDiskArgs']]]] = None, + os_disk_storage_account_type: Optional[pulumi.Input[Union[str, 'OsDiskStorageAccountType']]] = None): + """ + The storage profile of the VMSS. + :param pulumi.Input[Sequence[pulumi.Input['DataDiskArgs']]] data_disks: A list of empty data disks to attach. + :param pulumi.Input[Union[str, 'OsDiskStorageAccountType']] os_disk_storage_account_type: The Azure SKU name of the machines in the pool. + """ + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if os_disk_storage_account_type is not None: + pulumi.set(__self__, "os_disk_storage_account_type", os_disk_storage_account_type) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataDiskArgs']]]]: + """ + A list of empty data disks to attach. + """ + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + + @property + @pulumi.getter(name="osDiskStorageAccountType") + def os_disk_storage_account_type(self) -> Optional[pulumi.Input[Union[str, 'OsDiskStorageAccountType']]]: + """ + The Azure SKU name of the machines in the pool. + """ + return pulumi.get(self, "os_disk_storage_account_type") + + @os_disk_storage_account_type.setter + def os_disk_storage_account_type(self, value: Optional[pulumi.Input[Union[str, 'OsDiskStorageAccountType']]]): + pulumi.set(self, "os_disk_storage_account_type", value) + + +if not MYPY: + class VmssFabricProfileArgsDict(TypedDict): + """ + The agents will run on Virtual Machine Scale Sets. + """ + images: pulumi.Input[Sequence[pulumi.Input['PoolImageArgsDict']]] + """ + The VM images of the machines in the pool. + """ + kind: pulumi.Input[str] + """ + Discriminator property for FabricProfile. + Expected value is 'Vmss'. + """ + sku: pulumi.Input['DevOpsAzureSkuArgsDict'] + """ + The Azure SKU of the machines in the pool. + """ + network_profile: NotRequired[pulumi.Input['NetworkProfileArgsDict']] + """ + The network profile of the machines in the pool. + """ + os_profile: NotRequired[pulumi.Input['OsProfileArgsDict']] + """ + The OS profile of the machines in the pool. + """ + storage_profile: NotRequired[pulumi.Input['StorageProfileArgsDict']] + """ + The storage profile of the machines in the pool. + """ +elif False: + VmssFabricProfileArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class VmssFabricProfileArgs: + def __init__(__self__, *, + images: pulumi.Input[Sequence[pulumi.Input['PoolImageArgs']]], + kind: pulumi.Input[str], + sku: pulumi.Input['DevOpsAzureSkuArgs'], + network_profile: Optional[pulumi.Input['NetworkProfileArgs']] = None, + os_profile: Optional[pulumi.Input['OsProfileArgs']] = None, + storage_profile: Optional[pulumi.Input['StorageProfileArgs']] = None): + """ + The agents will run on Virtual Machine Scale Sets. + :param pulumi.Input[Sequence[pulumi.Input['PoolImageArgs']]] images: The VM images of the machines in the pool. + :param pulumi.Input[str] kind: Discriminator property for FabricProfile. + Expected value is 'Vmss'. + :param pulumi.Input['DevOpsAzureSkuArgs'] sku: The Azure SKU of the machines in the pool. + :param pulumi.Input['NetworkProfileArgs'] network_profile: The network profile of the machines in the pool. + :param pulumi.Input['OsProfileArgs'] os_profile: The OS profile of the machines in the pool. + :param pulumi.Input['StorageProfileArgs'] storage_profile: The storage profile of the machines in the pool. + """ + pulumi.set(__self__, "images", images) + pulumi.set(__self__, "kind", 'Vmss') + pulumi.set(__self__, "sku", sku) + if network_profile is not None: + pulumi.set(__self__, "network_profile", network_profile) + if os_profile is not None: + pulumi.set(__self__, "os_profile", os_profile) + if storage_profile is not None: + pulumi.set(__self__, "storage_profile", storage_profile) + + @property + @pulumi.getter + def images(self) -> pulumi.Input[Sequence[pulumi.Input['PoolImageArgs']]]: + """ + The VM images of the machines in the pool. + """ + return pulumi.get(self, "images") + + @images.setter + def images(self, value: pulumi.Input[Sequence[pulumi.Input['PoolImageArgs']]]): + pulumi.set(self, "images", value) + + @property + @pulumi.getter + def kind(self) -> pulumi.Input[str]: + """ + Discriminator property for FabricProfile. + Expected value is 'Vmss'. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: pulumi.Input[str]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter + def sku(self) -> pulumi.Input['DevOpsAzureSkuArgs']: + """ + The Azure SKU of the machines in the pool. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: pulumi.Input['DevOpsAzureSkuArgs']): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional[pulumi.Input['NetworkProfileArgs']]: + """ + The network profile of the machines in the pool. + """ + return pulumi.get(self, "network_profile") + + @network_profile.setter + def network_profile(self, value: Optional[pulumi.Input['NetworkProfileArgs']]): + pulumi.set(self, "network_profile", value) + + @property + @pulumi.getter(name="osProfile") + def os_profile(self) -> Optional[pulumi.Input['OsProfileArgs']]: + """ + The OS profile of the machines in the pool. + """ + return pulumi.get(self, "os_profile") + + @os_profile.setter + def os_profile(self, value: Optional[pulumi.Input['OsProfileArgs']]): + pulumi.set(self, "os_profile", value) + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional[pulumi.Input['StorageProfileArgs']]: + """ + The storage profile of the machines in the pool. + """ + return pulumi.get(self, "storage_profile") + + @storage_profile.setter + def storage_profile(self, value: Optional[pulumi.Input['StorageProfileArgs']]): + pulumi.set(self, "storage_profile", value) + + diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/get_pool.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/get_pool.py new file mode 100644 index 000000000000..5bf7b2af38f0 --- /dev/null +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/get_pool.py @@ -0,0 +1,255 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetPoolResult', + 'AwaitableGetPoolResult', + 'get_pool', + 'get_pool_output', +] + +@pulumi.output_type +class GetPoolResult: + """ + Concrete tracked resource types can be created by aliasing this type using a specific property type. + """ + def __init__(__self__, agent_profile=None, dev_center_project_resource_id=None, fabric_profile=None, id=None, identity=None, location=None, maximum_concurrency=None, name=None, organization_profile=None, provisioning_state=None, system_data=None, tags=None, type=None): + if agent_profile and not isinstance(agent_profile, dict): + raise TypeError("Expected argument 'agent_profile' to be a dict") + pulumi.set(__self__, "agent_profile", agent_profile) + if dev_center_project_resource_id and not isinstance(dev_center_project_resource_id, str): + raise TypeError("Expected argument 'dev_center_project_resource_id' to be a str") + pulumi.set(__self__, "dev_center_project_resource_id", dev_center_project_resource_id) + if fabric_profile and not isinstance(fabric_profile, dict): + raise TypeError("Expected argument 'fabric_profile' to be a dict") + pulumi.set(__self__, "fabric_profile", fabric_profile) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if maximum_concurrency and not isinstance(maximum_concurrency, int): + raise TypeError("Expected argument 'maximum_concurrency' to be a int") + pulumi.set(__self__, "maximum_concurrency", maximum_concurrency) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if organization_profile and not isinstance(organization_profile, dict): + raise TypeError("Expected argument 'organization_profile' to be a dict") + pulumi.set(__self__, "organization_profile", organization_profile) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="agentProfile") + def agent_profile(self) -> Any: + """ + Defines how the machine will be handled once it executed a job. + """ + return pulumi.get(self, "agent_profile") + + @property + @pulumi.getter(name="devCenterProjectResourceId") + def dev_center_project_resource_id(self) -> str: + """ + The resource id of the DevCenter Project the pool belongs to. + """ + return pulumi.get(self, "dev_center_project_resource_id") + + @property + @pulumi.getter(name="fabricProfile") + def fabric_profile(self) -> 'outputs.VmssFabricProfileResponse': + """ + Defines the type of fabric the agent will run on. + """ + return pulumi.get(self, "fabric_profile") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.ManagedServiceIdentityResponse']: + """ + The managed service identities assigned to this resource. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="maximumConcurrency") + def maximum_concurrency(self) -> int: + """ + Defines how many resources can there be created at any given time. + """ + return pulumi.get(self, "maximum_concurrency") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="organizationProfile") + def organization_profile(self) -> Any: + """ + Defines the organization in which the pool will be used. + """ + return pulumi.get(self, "organization_profile") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> Optional[str]: + """ + The status of the current operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetPoolResult(GetPoolResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetPoolResult( + agent_profile=self.agent_profile, + dev_center_project_resource_id=self.dev_center_project_resource_id, + fabric_profile=self.fabric_profile, + id=self.id, + identity=self.identity, + location=self.location, + maximum_concurrency=self.maximum_concurrency, + name=self.name, + organization_profile=self.organization_profile, + provisioning_state=self.provisioning_state, + system_data=self.system_data, + tags=self.tags, + type=self.type) + + +def get_pool(pool_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPoolResult: + """ + Get a Pool + + + :param str pool_name: Name of the pool. It needs to be globally unique. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['poolName'] = pool_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:devopsinfrastructure/v20250121:getPool', __args__, opts=opts, typ=GetPoolResult).value + + return AwaitableGetPoolResult( + agent_profile=pulumi.get(__ret__, 'agent_profile'), + dev_center_project_resource_id=pulumi.get(__ret__, 'dev_center_project_resource_id'), + fabric_profile=pulumi.get(__ret__, 'fabric_profile'), + id=pulumi.get(__ret__, 'id'), + identity=pulumi.get(__ret__, 'identity'), + location=pulumi.get(__ret__, 'location'), + maximum_concurrency=pulumi.get(__ret__, 'maximum_concurrency'), + name=pulumi.get(__ret__, 'name'), + organization_profile=pulumi.get(__ret__, 'organization_profile'), + provisioning_state=pulumi.get(__ret__, 'provisioning_state'), + system_data=pulumi.get(__ret__, 'system_data'), + tags=pulumi.get(__ret__, 'tags'), + type=pulumi.get(__ret__, 'type')) +def get_pool_output(pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPoolResult]: + """ + Get a Pool + + + :param str pool_name: Name of the pool. It needs to be globally unique. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['poolName'] = pool_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('azure-native:devopsinfrastructure/v20250121:getPool', __args__, opts=opts, typ=GetPoolResult) + return __ret__.apply(lambda __response__: GetPoolResult( + agent_profile=pulumi.get(__response__, 'agent_profile'), + dev_center_project_resource_id=pulumi.get(__response__, 'dev_center_project_resource_id'), + fabric_profile=pulumi.get(__response__, 'fabric_profile'), + id=pulumi.get(__response__, 'id'), + identity=pulumi.get(__response__, 'identity'), + location=pulumi.get(__response__, 'location'), + maximum_concurrency=pulumi.get(__response__, 'maximum_concurrency'), + name=pulumi.get(__response__, 'name'), + organization_profile=pulumi.get(__response__, 'organization_profile'), + provisioning_state=pulumi.get(__response__, 'provisioning_state'), + system_data=pulumi.get(__response__, 'system_data'), + tags=pulumi.get(__response__, 'tags'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/outputs.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/outputs.py new file mode 100644 index 000000000000..3705682922a4 --- /dev/null +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/outputs.py @@ -0,0 +1,1299 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'AutomaticResourcePredictionsProfileResponse', + 'AzureDevOpsOrganizationProfileResponse', + 'AzureDevOpsPermissionProfileResponse', + 'DataDiskResponse', + 'DevOpsAzureSkuResponse', + 'GitHubOrganizationProfileResponse', + 'GitHubOrganizationResponse', + 'ManagedServiceIdentityResponse', + 'ManualResourcePredictionsProfileResponse', + 'NetworkProfileResponse', + 'OrganizationResponse', + 'OsProfileResponse', + 'PoolImageResponse', + 'SecretsManagementSettingsResponse', + 'StatefulResponse', + 'StatelessAgentProfileResponse', + 'StorageProfileResponse', + 'SystemDataResponse', + 'UserAssignedIdentityResponse', + 'VmssFabricProfileResponse', +] + +@pulumi.output_type +class AutomaticResourcePredictionsProfileResponse(dict): + """ + The stand-by agent scheme is determined based on historical demand. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "predictionPreference": + suggest = "prediction_preference" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AutomaticResourcePredictionsProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AutomaticResourcePredictionsProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AutomaticResourcePredictionsProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + kind: str, + prediction_preference: Optional[str] = None): + """ + The stand-by agent scheme is determined based on historical demand. + :param str kind: Determines how the stand-by scheme should be provided. + Expected value is 'Automatic'. + :param str prediction_preference: Determines the balance between cost and performance. + """ + pulumi.set(__self__, "kind", 'Automatic') + if prediction_preference is not None: + pulumi.set(__self__, "prediction_preference", prediction_preference) + + @property + @pulumi.getter + def kind(self) -> str: + """ + Determines how the stand-by scheme should be provided. + Expected value is 'Automatic'. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter(name="predictionPreference") + def prediction_preference(self) -> Optional[str]: + """ + Determines the balance between cost and performance. + """ + return pulumi.get(self, "prediction_preference") + + +@pulumi.output_type +class AzureDevOpsOrganizationProfileResponse(dict): + """ + Azure DevOps organization profile + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "permissionProfile": + suggest = "permission_profile" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AzureDevOpsOrganizationProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AzureDevOpsOrganizationProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AzureDevOpsOrganizationProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + kind: str, + organizations: Sequence['outputs.OrganizationResponse'], + permission_profile: Optional['outputs.AzureDevOpsPermissionProfileResponse'] = None): + """ + Azure DevOps organization profile + :param str kind: Discriminator property for OrganizationProfile. + Expected value is 'AzureDevOps'. + :param Sequence['OrganizationResponse'] organizations: The list of Azure DevOps organizations the pool should be present in. + :param 'AzureDevOpsPermissionProfileResponse' permission_profile: The type of permission which determines which accounts are admins on the Azure DevOps pool. + """ + pulumi.set(__self__, "kind", 'AzureDevOps') + pulumi.set(__self__, "organizations", organizations) + if permission_profile is not None: + pulumi.set(__self__, "permission_profile", permission_profile) + + @property + @pulumi.getter + def kind(self) -> str: + """ + Discriminator property for OrganizationProfile. + Expected value is 'AzureDevOps'. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def organizations(self) -> Sequence['outputs.OrganizationResponse']: + """ + The list of Azure DevOps organizations the pool should be present in. + """ + return pulumi.get(self, "organizations") + + @property + @pulumi.getter(name="permissionProfile") + def permission_profile(self) -> Optional['outputs.AzureDevOpsPermissionProfileResponse']: + """ + The type of permission which determines which accounts are admins on the Azure DevOps pool. + """ + return pulumi.get(self, "permission_profile") + + +@pulumi.output_type +class AzureDevOpsPermissionProfileResponse(dict): + """ + Defines the type of Azure DevOps pool permission. + """ + def __init__(__self__, *, + kind: str, + groups: Optional[Sequence[str]] = None, + users: Optional[Sequence[str]] = None): + """ + Defines the type of Azure DevOps pool permission. + :param str kind: Determines who has admin permissions to the Azure DevOps pool. + :param Sequence[str] groups: Group email addresses + :param Sequence[str] users: User email addresses + """ + pulumi.set(__self__, "kind", kind) + if groups is not None: + pulumi.set(__self__, "groups", groups) + if users is not None: + pulumi.set(__self__, "users", users) + + @property + @pulumi.getter + def kind(self) -> str: + """ + Determines who has admin permissions to the Azure DevOps pool. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def groups(self) -> Optional[Sequence[str]]: + """ + Group email addresses + """ + return pulumi.get(self, "groups") + + @property + @pulumi.getter + def users(self) -> Optional[Sequence[str]]: + """ + User email addresses + """ + return pulumi.get(self, "users") + + +@pulumi.output_type +class DataDiskResponse(dict): + """ + The data disk of the VMSS. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskSizeGiB": + suggest = "disk_size_gi_b" + elif key == "driveLetter": + suggest = "drive_letter" + elif key == "storageAccountType": + suggest = "storage_account_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataDiskResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataDiskResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataDiskResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + caching: Optional[str] = None, + disk_size_gi_b: Optional[int] = None, + drive_letter: Optional[str] = None, + storage_account_type: Optional[str] = None): + """ + The data disk of the VMSS. + :param str caching: The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. + :param int disk_size_gi_b: The initial disk size in gigabytes. + :param str drive_letter: The drive letter for the empty data disk. If not specified, it will be the first available letter. + :param str storage_account_type: The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". + """ + if caching is not None: + pulumi.set(__self__, "caching", caching) + if disk_size_gi_b is not None: + pulumi.set(__self__, "disk_size_gi_b", disk_size_gi_b) + if drive_letter is not None: + pulumi.set(__self__, "drive_letter", drive_letter) + if storage_account_type is not None: + pulumi.set(__self__, "storage_account_type", storage_account_type) + + @property + @pulumi.getter + def caching(self) -> Optional[str]: + """ + The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. + """ + return pulumi.get(self, "caching") + + @property + @pulumi.getter(name="diskSizeGiB") + def disk_size_gi_b(self) -> Optional[int]: + """ + The initial disk size in gigabytes. + """ + return pulumi.get(self, "disk_size_gi_b") + + @property + @pulumi.getter(name="driveLetter") + def drive_letter(self) -> Optional[str]: + """ + The drive letter for the empty data disk. If not specified, it will be the first available letter. + """ + return pulumi.get(self, "drive_letter") + + @property + @pulumi.getter(name="storageAccountType") + def storage_account_type(self) -> Optional[str]: + """ + The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". + """ + return pulumi.get(self, "storage_account_type") + + +@pulumi.output_type +class DevOpsAzureSkuResponse(dict): + """ + The Azure SKU of the machines in the pool. + """ + def __init__(__self__, *, + name: str): + """ + The Azure SKU of the machines in the pool. + :param str name: The Azure SKU name of the machines in the pool. + """ + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> str: + """ + The Azure SKU name of the machines in the pool. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class GitHubOrganizationProfileResponse(dict): + """ + GitHub organization profile + """ + def __init__(__self__, *, + kind: str, + organizations: Sequence['outputs.GitHubOrganizationResponse']): + """ + GitHub organization profile + :param str kind: Discriminator property for OrganizationProfile. + Expected value is 'GitHub'. + :param Sequence['GitHubOrganizationResponse'] organizations: The list of GitHub organizations/repositories the pool should be present in. + """ + pulumi.set(__self__, "kind", 'GitHub') + pulumi.set(__self__, "organizations", organizations) + + @property + @pulumi.getter + def kind(self) -> str: + """ + Discriminator property for OrganizationProfile. + Expected value is 'GitHub'. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def organizations(self) -> Sequence['outputs.GitHubOrganizationResponse']: + """ + The list of GitHub organizations/repositories the pool should be present in. + """ + return pulumi.get(self, "organizations") + + +@pulumi.output_type +class GitHubOrganizationResponse(dict): + """ + Defines a GitHub organization + """ + def __init__(__self__, *, + url: str, + repositories: Optional[Sequence[str]] = None): + """ + Defines a GitHub organization + :param str url: The GitHub organization URL in which the pool should be created. + :param Sequence[str] repositories: Optional list of repositories in which the pool should be created. + """ + pulumi.set(__self__, "url", url) + if repositories is not None: + pulumi.set(__self__, "repositories", repositories) + + @property + @pulumi.getter + def url(self) -> str: + """ + The GitHub organization URL in which the pool should be created. + """ + return pulumi.get(self, "url") + + @property + @pulumi.getter + def repositories(self) -> Optional[Sequence[str]]: + """ + Optional list of repositories in which the pool should be created. + """ + return pulumi.get(self, "repositories") + + +@pulumi.output_type +class ManagedServiceIdentityResponse(dict): + """ + Managed service identity (system assigned and/or user assigned identities) + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedServiceIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedServiceIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedServiceIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + type: str, + user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']] = None): + """ + Managed service identity (system assigned and/or user assigned identities) + :param str principal_id: The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + :param str tenant_id: The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + :param str type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + :param Mapping[str, 'UserAssignedIdentityResponse'] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> str: + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]: + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + return pulumi.get(self, "user_assigned_identities") + + +@pulumi.output_type +class ManualResourcePredictionsProfileResponse(dict): + """ + Customer provides the stand-by agent scheme. + """ + def __init__(__self__, *, + kind: str): + """ + Customer provides the stand-by agent scheme. + :param str kind: Determines how the stand-by scheme should be provided. + Expected value is 'Manual'. + """ + pulumi.set(__self__, "kind", 'Manual') + + @property + @pulumi.getter + def kind(self) -> str: + """ + Determines how the stand-by scheme should be provided. + Expected value is 'Manual'. + """ + return pulumi.get(self, "kind") + + +@pulumi.output_type +class NetworkProfileResponse(dict): + """ + The network profile of the machines in the pool. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "subnetId": + suggest = "subnet_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NetworkProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NetworkProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NetworkProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + subnet_id: str): + """ + The network profile of the machines in the pool. + :param str subnet_id: The subnet id on which to put all machines created in the pool. + """ + pulumi.set(__self__, "subnet_id", subnet_id) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> str: + """ + The subnet id on which to put all machines created in the pool. + """ + return pulumi.get(self, "subnet_id") + + +@pulumi.output_type +class OrganizationResponse(dict): + """ + Defines an Azure DevOps organization. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "openAccess": + suggest = "open_access" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OrganizationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OrganizationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OrganizationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + url: str, + open_access: Optional[bool] = None, + parallelism: Optional[int] = None, + projects: Optional[Sequence[str]] = None): + """ + Defines an Azure DevOps organization. + :param str url: The Azure DevOps organization URL in which the pool should be created. + :param bool open_access: Determines if the pool should have open access to all projects in this organization. + :param int parallelism: How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool. + :param Sequence[str] projects: Optional list of projects in which the pool should be created. + """ + pulumi.set(__self__, "url", url) + if open_access is not None: + pulumi.set(__self__, "open_access", open_access) + if parallelism is not None: + pulumi.set(__self__, "parallelism", parallelism) + if projects is not None: + pulumi.set(__self__, "projects", projects) + + @property + @pulumi.getter + def url(self) -> str: + """ + The Azure DevOps organization URL in which the pool should be created. + """ + return pulumi.get(self, "url") + + @property + @pulumi.getter(name="openAccess") + def open_access(self) -> Optional[bool]: + """ + Determines if the pool should have open access to all projects in this organization. + """ + return pulumi.get(self, "open_access") + + @property + @pulumi.getter + def parallelism(self) -> Optional[int]: + """ + How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool. + """ + return pulumi.get(self, "parallelism") + + @property + @pulumi.getter + def projects(self) -> Optional[Sequence[str]]: + """ + Optional list of projects in which the pool should be created. + """ + return pulumi.get(self, "projects") + + +@pulumi.output_type +class OsProfileResponse(dict): + """ + The OS profile of the machines in the pool. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "logonType": + suggest = "logon_type" + elif key == "secretsManagementSettings": + suggest = "secrets_management_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OsProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OsProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OsProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + logon_type: Optional[str] = None, + secrets_management_settings: Optional['outputs.SecretsManagementSettingsResponse'] = None): + """ + The OS profile of the machines in the pool. + :param str logon_type: Determines how the service should be run. By default, this will be set to Service. + :param 'SecretsManagementSettingsResponse' secrets_management_settings: The secret management settings of the machines in the pool. + """ + if logon_type is not None: + pulumi.set(__self__, "logon_type", logon_type) + if secrets_management_settings is not None: + pulumi.set(__self__, "secrets_management_settings", secrets_management_settings) + + @property + @pulumi.getter(name="logonType") + def logon_type(self) -> Optional[str]: + """ + Determines how the service should be run. By default, this will be set to Service. + """ + return pulumi.get(self, "logon_type") + + @property + @pulumi.getter(name="secretsManagementSettings") + def secrets_management_settings(self) -> Optional['outputs.SecretsManagementSettingsResponse']: + """ + The secret management settings of the machines in the pool. + """ + return pulumi.get(self, "secrets_management_settings") + + +@pulumi.output_type +class PoolImageResponse(dict): + """ + The VM image of the machines in the pool. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ephemeralType": + suggest = "ephemeral_type" + elif key == "resourceId": + suggest = "resource_id" + elif key == "wellKnownImageName": + suggest = "well_known_image_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PoolImageResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PoolImageResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PoolImageResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aliases: Optional[Sequence[str]] = None, + buffer: Optional[str] = None, + ephemeral_type: Optional[str] = None, + resource_id: Optional[str] = None, + well_known_image_name: Optional[str] = None): + """ + The VM image of the machines in the pool. + :param Sequence[str] aliases: List of aliases to reference the image by. + :param str buffer: The percentage of the buffer to be allocated to this image. + :param str ephemeral_type: The ephemeral type of the image. + :param str resource_id: The resource id of the image. + :param str well_known_image_name: The image to use from a well-known set of images made available to customers. + """ + if aliases is not None: + pulumi.set(__self__, "aliases", aliases) + if buffer is None: + buffer = '*' + if buffer is not None: + pulumi.set(__self__, "buffer", buffer) + if ephemeral_type is not None: + pulumi.set(__self__, "ephemeral_type", ephemeral_type) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if well_known_image_name is not None: + pulumi.set(__self__, "well_known_image_name", well_known_image_name) + + @property + @pulumi.getter + def aliases(self) -> Optional[Sequence[str]]: + """ + List of aliases to reference the image by. + """ + return pulumi.get(self, "aliases") + + @property + @pulumi.getter + def buffer(self) -> Optional[str]: + """ + The percentage of the buffer to be allocated to this image. + """ + return pulumi.get(self, "buffer") + + @property + @pulumi.getter(name="ephemeralType") + def ephemeral_type(self) -> Optional[str]: + """ + The ephemeral type of the image. + """ + return pulumi.get(self, "ephemeral_type") + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[str]: + """ + The resource id of the image. + """ + return pulumi.get(self, "resource_id") + + @property + @pulumi.getter(name="wellKnownImageName") + def well_known_image_name(self) -> Optional[str]: + """ + The image to use from a well-known set of images made available to customers. + """ + return pulumi.get(self, "well_known_image_name") + + +@pulumi.output_type +class SecretsManagementSettingsResponse(dict): + """ + The secret management settings of the machines in the pool. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyExportable": + suggest = "key_exportable" + elif key == "observedCertificates": + suggest = "observed_certificates" + elif key == "certificateStoreLocation": + suggest = "certificate_store_location" + elif key == "certificateStoreName": + suggest = "certificate_store_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SecretsManagementSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SecretsManagementSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SecretsManagementSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_exportable: bool, + observed_certificates: Sequence[str], + certificate_store_location: Optional[str] = None, + certificate_store_name: Optional[str] = None): + """ + The secret management settings of the machines in the pool. + :param bool key_exportable: Defines if the key of the certificates should be exportable. + :param Sequence[str] observed_certificates: The list of certificates to install on all machines in the pool. + :param str certificate_store_location: Where to store certificates on the machine. + :param str certificate_store_name: Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported. + """ + pulumi.set(__self__, "key_exportable", key_exportable) + pulumi.set(__self__, "observed_certificates", observed_certificates) + if certificate_store_location is not None: + pulumi.set(__self__, "certificate_store_location", certificate_store_location) + if certificate_store_name is not None: + pulumi.set(__self__, "certificate_store_name", certificate_store_name) + + @property + @pulumi.getter(name="keyExportable") + def key_exportable(self) -> bool: + """ + Defines if the key of the certificates should be exportable. + """ + return pulumi.get(self, "key_exportable") + + @property + @pulumi.getter(name="observedCertificates") + def observed_certificates(self) -> Sequence[str]: + """ + The list of certificates to install on all machines in the pool. + """ + return pulumi.get(self, "observed_certificates") + + @property + @pulumi.getter(name="certificateStoreLocation") + def certificate_store_location(self) -> Optional[str]: + """ + Where to store certificates on the machine. + """ + return pulumi.get(self, "certificate_store_location") + + @property + @pulumi.getter(name="certificateStoreName") + def certificate_store_name(self) -> Optional[str]: + """ + Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported. + """ + return pulumi.get(self, "certificate_store_name") + + +@pulumi.output_type +class StatefulResponse(dict): + """ + Stateful profile meaning that the machines will be returned to the pool after running a job. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "gracePeriodTimeSpan": + suggest = "grace_period_time_span" + elif key == "maxAgentLifetime": + suggest = "max_agent_lifetime" + elif key == "resourcePredictions": + suggest = "resource_predictions" + elif key == "resourcePredictionsProfile": + suggest = "resource_predictions_profile" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StatefulResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StatefulResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StatefulResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + kind: str, + grace_period_time_span: Optional[str] = None, + max_agent_lifetime: Optional[str] = None, + resource_predictions: Optional[Any] = None, + resource_predictions_profile: Optional[Any] = None): + """ + Stateful profile meaning that the machines will be returned to the pool after running a job. + :param str kind: Discriminator property for AgentProfile. + Expected value is 'Stateful'. + :param str grace_period_time_span: How long should the machine be kept around after it ran a workload when there are no stand-by agents. The maximum is one week. + :param str max_agent_lifetime: How long should stateful machines be kept around. The maximum is one week. + :param Any resource_predictions: Defines pool buffer/stand-by agents. + :param Union['AutomaticResourcePredictionsProfileResponse', 'ManualResourcePredictionsProfileResponse'] resource_predictions_profile: Defines how the pool buffer/stand-by agents is provided. + """ + pulumi.set(__self__, "kind", 'Stateful') + if grace_period_time_span is not None: + pulumi.set(__self__, "grace_period_time_span", grace_period_time_span) + if max_agent_lifetime is not None: + pulumi.set(__self__, "max_agent_lifetime", max_agent_lifetime) + if resource_predictions is not None: + pulumi.set(__self__, "resource_predictions", resource_predictions) + if resource_predictions_profile is not None: + pulumi.set(__self__, "resource_predictions_profile", resource_predictions_profile) + + @property + @pulumi.getter + def kind(self) -> str: + """ + Discriminator property for AgentProfile. + Expected value is 'Stateful'. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter(name="gracePeriodTimeSpan") + def grace_period_time_span(self) -> Optional[str]: + """ + How long should the machine be kept around after it ran a workload when there are no stand-by agents. The maximum is one week. + """ + return pulumi.get(self, "grace_period_time_span") + + @property + @pulumi.getter(name="maxAgentLifetime") + def max_agent_lifetime(self) -> Optional[str]: + """ + How long should stateful machines be kept around. The maximum is one week. + """ + return pulumi.get(self, "max_agent_lifetime") + + @property + @pulumi.getter(name="resourcePredictions") + def resource_predictions(self) -> Optional[Any]: + """ + Defines pool buffer/stand-by agents. + """ + return pulumi.get(self, "resource_predictions") + + @property + @pulumi.getter(name="resourcePredictionsProfile") + def resource_predictions_profile(self) -> Optional[Any]: + """ + Defines how the pool buffer/stand-by agents is provided. + """ + return pulumi.get(self, "resource_predictions_profile") + + +@pulumi.output_type +class StatelessAgentProfileResponse(dict): + """ + Stateless profile meaning that the machines will be cleaned up after running a job. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourcePredictions": + suggest = "resource_predictions" + elif key == "resourcePredictionsProfile": + suggest = "resource_predictions_profile" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StatelessAgentProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StatelessAgentProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StatelessAgentProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + kind: str, + resource_predictions: Optional[Any] = None, + resource_predictions_profile: Optional[Any] = None): + """ + Stateless profile meaning that the machines will be cleaned up after running a job. + :param str kind: Discriminator property for AgentProfile. + Expected value is 'Stateless'. + :param Any resource_predictions: Defines pool buffer/stand-by agents. + :param Union['AutomaticResourcePredictionsProfileResponse', 'ManualResourcePredictionsProfileResponse'] resource_predictions_profile: Defines how the pool buffer/stand-by agents is provided. + """ + pulumi.set(__self__, "kind", 'Stateless') + if resource_predictions is not None: + pulumi.set(__self__, "resource_predictions", resource_predictions) + if resource_predictions_profile is not None: + pulumi.set(__self__, "resource_predictions_profile", resource_predictions_profile) + + @property + @pulumi.getter + def kind(self) -> str: + """ + Discriminator property for AgentProfile. + Expected value is 'Stateless'. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter(name="resourcePredictions") + def resource_predictions(self) -> Optional[Any]: + """ + Defines pool buffer/stand-by agents. + """ + return pulumi.get(self, "resource_predictions") + + @property + @pulumi.getter(name="resourcePredictionsProfile") + def resource_predictions_profile(self) -> Optional[Any]: + """ + Defines how the pool buffer/stand-by agents is provided. + """ + return pulumi.get(self, "resource_predictions_profile") + + +@pulumi.output_type +class StorageProfileResponse(dict): + """ + The storage profile of the VMSS. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataDisks": + suggest = "data_disks" + elif key == "osDiskStorageAccountType": + suggest = "os_disk_storage_account_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_disks: Optional[Sequence['outputs.DataDiskResponse']] = None, + os_disk_storage_account_type: Optional[str] = None): + """ + The storage profile of the VMSS. + :param Sequence['DataDiskResponse'] data_disks: A list of empty data disks to attach. + :param str os_disk_storage_account_type: The Azure SKU name of the machines in the pool. + """ + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if os_disk_storage_account_type is not None: + pulumi.set(__self__, "os_disk_storage_account_type", os_disk_storage_account_type) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[Sequence['outputs.DataDiskResponse']]: + """ + A list of empty data disks to attach. + """ + return pulumi.get(self, "data_disks") + + @property + @pulumi.getter(name="osDiskStorageAccountType") + def os_disk_storage_account_type(self) -> Optional[str]: + """ + The Azure SKU name of the machines in the pool. + """ + return pulumi.get(self, "os_disk_storage_account_type") + + +@pulumi.output_type +class SystemDataResponse(dict): + """ + Metadata pertaining to creation and last modification of the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: Optional[str] = None, + created_by: Optional[str] = None, + created_by_type: Optional[str] = None, + last_modified_at: Optional[str] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[str] = None): + """ + Metadata pertaining to creation and last modification of the resource. + :param str created_at: The timestamp of resource creation (UTC). + :param str created_by: The identity that created the resource. + :param str created_by_type: The type of identity that created the resource. + :param str last_modified_at: The timestamp of resource last modification (UTC) + :param str last_modified_by: The identity that last modified the resource. + :param str last_modified_by_type: The type of identity that last modified the resource. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if created_by_type is not None: + pulumi.set(__self__, "created_by_type", created_by_type) + if last_modified_at is not None: + pulumi.set(__self__, "last_modified_at", last_modified_at) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if last_modified_by_type is not None: + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The timestamp of resource creation (UTC). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[str]: + """ + The identity that created the resource. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> Optional[str]: + """ + The type of identity that created the resource. + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> Optional[str]: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[str]: + """ + The identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> Optional[str]: + """ + The type of identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by_type") + + +@pulumi.output_type +class UserAssignedIdentityResponse(dict): + """ + User assigned identity properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "principalId": + suggest = "principal_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: str, + principal_id: str): + """ + User assigned identity properties + :param str client_id: The client ID of the assigned identity. + :param str principal_id: The principal ID of the assigned identity. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "principal_id", principal_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The client ID of the assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal ID of the assigned identity. + """ + return pulumi.get(self, "principal_id") + + +@pulumi.output_type +class VmssFabricProfileResponse(dict): + """ + The agents will run on Virtual Machine Scale Sets. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "networkProfile": + suggest = "network_profile" + elif key == "osProfile": + suggest = "os_profile" + elif key == "storageProfile": + suggest = "storage_profile" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VmssFabricProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VmssFabricProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VmssFabricProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + images: Sequence['outputs.PoolImageResponse'], + kind: str, + sku: 'outputs.DevOpsAzureSkuResponse', + network_profile: Optional['outputs.NetworkProfileResponse'] = None, + os_profile: Optional['outputs.OsProfileResponse'] = None, + storage_profile: Optional['outputs.StorageProfileResponse'] = None): + """ + The agents will run on Virtual Machine Scale Sets. + :param Sequence['PoolImageResponse'] images: The VM images of the machines in the pool. + :param str kind: Discriminator property for FabricProfile. + Expected value is 'Vmss'. + :param 'DevOpsAzureSkuResponse' sku: The Azure SKU of the machines in the pool. + :param 'NetworkProfileResponse' network_profile: The network profile of the machines in the pool. + :param 'OsProfileResponse' os_profile: The OS profile of the machines in the pool. + :param 'StorageProfileResponse' storage_profile: The storage profile of the machines in the pool. + """ + pulumi.set(__self__, "images", images) + pulumi.set(__self__, "kind", 'Vmss') + pulumi.set(__self__, "sku", sku) + if network_profile is not None: + pulumi.set(__self__, "network_profile", network_profile) + if os_profile is not None: + pulumi.set(__self__, "os_profile", os_profile) + if storage_profile is not None: + pulumi.set(__self__, "storage_profile", storage_profile) + + @property + @pulumi.getter + def images(self) -> Sequence['outputs.PoolImageResponse']: + """ + The VM images of the machines in the pool. + """ + return pulumi.get(self, "images") + + @property + @pulumi.getter + def kind(self) -> str: + """ + Discriminator property for FabricProfile. + Expected value is 'Vmss'. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def sku(self) -> 'outputs.DevOpsAzureSkuResponse': + """ + The Azure SKU of the machines in the pool. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional['outputs.NetworkProfileResponse']: + """ + The network profile of the machines in the pool. + """ + return pulumi.get(self, "network_profile") + + @property + @pulumi.getter(name="osProfile") + def os_profile(self) -> Optional['outputs.OsProfileResponse']: + """ + The OS profile of the machines in the pool. + """ + return pulumi.get(self, "os_profile") + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional['outputs.StorageProfileResponse']: + """ + The storage profile of the machines in the pool. + """ + return pulumi.get(self, "storage_profile") + + diff --git a/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/pool.py b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/pool.py new file mode 100644 index 000000000000..a2795b42854a --- /dev/null +++ b/sdk/python/pulumi_azure_native/devopsinfrastructure/v20250121/pool.py @@ -0,0 +1,437 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['PoolArgs', 'Pool'] + +@pulumi.input_type +class PoolArgs: + def __init__(__self__, *, + agent_profile: pulumi.Input[Union['StatefulArgs', 'StatelessAgentProfileArgs']], + dev_center_project_resource_id: pulumi.Input[str], + fabric_profile: pulumi.Input['VmssFabricProfileArgs'], + maximum_concurrency: pulumi.Input[int], + organization_profile: pulumi.Input[Union['AzureDevOpsOrganizationProfileArgs', 'GitHubOrganizationProfileArgs']], + resource_group_name: pulumi.Input[str], + identity: Optional[pulumi.Input['ManagedServiceIdentityArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + pool_name: Optional[pulumi.Input[str]] = None, + provisioning_state: Optional[pulumi.Input[Union[str, 'ProvisioningState']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Pool resource. + :param pulumi.Input[Union['StatefulArgs', 'StatelessAgentProfileArgs']] agent_profile: Defines how the machine will be handled once it executed a job. + :param pulumi.Input[str] dev_center_project_resource_id: The resource id of the DevCenter Project the pool belongs to. + :param pulumi.Input['VmssFabricProfileArgs'] fabric_profile: Defines the type of fabric the agent will run on. + :param pulumi.Input[int] maximum_concurrency: Defines how many resources can there be created at any given time. + :param pulumi.Input[Union['AzureDevOpsOrganizationProfileArgs', 'GitHubOrganizationProfileArgs']] organization_profile: Defines the organization in which the pool will be used. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input['ManagedServiceIdentityArgs'] identity: The managed service identities assigned to this resource. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] pool_name: Name of the pool. It needs to be globally unique. + :param pulumi.Input[Union[str, 'ProvisioningState']] provisioning_state: The status of the current operation. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + pulumi.set(__self__, "agent_profile", agent_profile) + pulumi.set(__self__, "dev_center_project_resource_id", dev_center_project_resource_id) + pulumi.set(__self__, "fabric_profile", fabric_profile) + pulumi.set(__self__, "maximum_concurrency", maximum_concurrency) + pulumi.set(__self__, "organization_profile", organization_profile) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if location is not None: + pulumi.set(__self__, "location", location) + if pool_name is not None: + pulumi.set(__self__, "pool_name", pool_name) + if provisioning_state is not None: + pulumi.set(__self__, "provisioning_state", provisioning_state) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="agentProfile") + def agent_profile(self) -> pulumi.Input[Union['StatefulArgs', 'StatelessAgentProfileArgs']]: + """ + Defines how the machine will be handled once it executed a job. + """ + return pulumi.get(self, "agent_profile") + + @agent_profile.setter + def agent_profile(self, value: pulumi.Input[Union['StatefulArgs', 'StatelessAgentProfileArgs']]): + pulumi.set(self, "agent_profile", value) + + @property + @pulumi.getter(name="devCenterProjectResourceId") + def dev_center_project_resource_id(self) -> pulumi.Input[str]: + """ + The resource id of the DevCenter Project the pool belongs to. + """ + return pulumi.get(self, "dev_center_project_resource_id") + + @dev_center_project_resource_id.setter + def dev_center_project_resource_id(self, value: pulumi.Input[str]): + pulumi.set(self, "dev_center_project_resource_id", value) + + @property + @pulumi.getter(name="fabricProfile") + def fabric_profile(self) -> pulumi.Input['VmssFabricProfileArgs']: + """ + Defines the type of fabric the agent will run on. + """ + return pulumi.get(self, "fabric_profile") + + @fabric_profile.setter + def fabric_profile(self, value: pulumi.Input['VmssFabricProfileArgs']): + pulumi.set(self, "fabric_profile", value) + + @property + @pulumi.getter(name="maximumConcurrency") + def maximum_concurrency(self) -> pulumi.Input[int]: + """ + Defines how many resources can there be created at any given time. + """ + return pulumi.get(self, "maximum_concurrency") + + @maximum_concurrency.setter + def maximum_concurrency(self, value: pulumi.Input[int]): + pulumi.set(self, "maximum_concurrency", value) + + @property + @pulumi.getter(name="organizationProfile") + def organization_profile(self) -> pulumi.Input[Union['AzureDevOpsOrganizationProfileArgs', 'GitHubOrganizationProfileArgs']]: + """ + Defines the organization in which the pool will be used. + """ + return pulumi.get(self, "organization_profile") + + @organization_profile.setter + def organization_profile(self, value: pulumi.Input[Union['AzureDevOpsOrganizationProfileArgs', 'GitHubOrganizationProfileArgs']]): + pulumi.set(self, "organization_profile", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['ManagedServiceIdentityArgs']]: + """ + The managed service identities assigned to this resource. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['ManagedServiceIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="poolName") + def pool_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the pool. It needs to be globally unique. + """ + return pulumi.get(self, "pool_name") + + @pool_name.setter + def pool_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pool_name", value) + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> Optional[pulumi.Input[Union[str, 'ProvisioningState']]]: + """ + The status of the current operation. + """ + return pulumi.get(self, "provisioning_state") + + @provisioning_state.setter + def provisioning_state(self, value: Optional[pulumi.Input[Union[str, 'ProvisioningState']]]): + pulumi.set(self, "provisioning_state", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class Pool(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + agent_profile: Optional[pulumi.Input[Union[Union['StatefulArgs', 'StatefulArgsDict'], Union['StatelessAgentProfileArgs', 'StatelessAgentProfileArgsDict']]]] = None, + dev_center_project_resource_id: Optional[pulumi.Input[str]] = None, + fabric_profile: Optional[pulumi.Input[Union['VmssFabricProfileArgs', 'VmssFabricProfileArgsDict']]] = None, + identity: Optional[pulumi.Input[Union['ManagedServiceIdentityArgs', 'ManagedServiceIdentityArgsDict']]] = None, + location: Optional[pulumi.Input[str]] = None, + maximum_concurrency: Optional[pulumi.Input[int]] = None, + organization_profile: Optional[pulumi.Input[Union[Union['AzureDevOpsOrganizationProfileArgs', 'AzureDevOpsOrganizationProfileArgsDict'], Union['GitHubOrganizationProfileArgs', 'GitHubOrganizationProfileArgsDict']]]] = None, + pool_name: Optional[pulumi.Input[str]] = None, + provisioning_state: Optional[pulumi.Input[Union[str, 'ProvisioningState']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Concrete tracked resource types can be created by aliasing this type using a specific property type. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union[Union['StatefulArgs', 'StatefulArgsDict'], Union['StatelessAgentProfileArgs', 'StatelessAgentProfileArgsDict']]] agent_profile: Defines how the machine will be handled once it executed a job. + :param pulumi.Input[str] dev_center_project_resource_id: The resource id of the DevCenter Project the pool belongs to. + :param pulumi.Input[Union['VmssFabricProfileArgs', 'VmssFabricProfileArgsDict']] fabric_profile: Defines the type of fabric the agent will run on. + :param pulumi.Input[Union['ManagedServiceIdentityArgs', 'ManagedServiceIdentityArgsDict']] identity: The managed service identities assigned to this resource. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[int] maximum_concurrency: Defines how many resources can there be created at any given time. + :param pulumi.Input[Union[Union['AzureDevOpsOrganizationProfileArgs', 'AzureDevOpsOrganizationProfileArgsDict'], Union['GitHubOrganizationProfileArgs', 'GitHubOrganizationProfileArgsDict']]] organization_profile: Defines the organization in which the pool will be used. + :param pulumi.Input[str] pool_name: Name of the pool. It needs to be globally unique. + :param pulumi.Input[Union[str, 'ProvisioningState']] provisioning_state: The status of the current operation. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: PoolArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Concrete tracked resource types can be created by aliasing this type using a specific property type. + + :param str resource_name: The name of the resource. + :param PoolArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(PoolArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + agent_profile: Optional[pulumi.Input[Union[Union['StatefulArgs', 'StatefulArgsDict'], Union['StatelessAgentProfileArgs', 'StatelessAgentProfileArgsDict']]]] = None, + dev_center_project_resource_id: Optional[pulumi.Input[str]] = None, + fabric_profile: Optional[pulumi.Input[Union['VmssFabricProfileArgs', 'VmssFabricProfileArgsDict']]] = None, + identity: Optional[pulumi.Input[Union['ManagedServiceIdentityArgs', 'ManagedServiceIdentityArgsDict']]] = None, + location: Optional[pulumi.Input[str]] = None, + maximum_concurrency: Optional[pulumi.Input[int]] = None, + organization_profile: Optional[pulumi.Input[Union[Union['AzureDevOpsOrganizationProfileArgs', 'AzureDevOpsOrganizationProfileArgsDict'], Union['GitHubOrganizationProfileArgs', 'GitHubOrganizationProfileArgsDict']]]] = None, + pool_name: Optional[pulumi.Input[str]] = None, + provisioning_state: Optional[pulumi.Input[Union[str, 'ProvisioningState']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = PoolArgs.__new__(PoolArgs) + + if agent_profile is None and not opts.urn: + raise TypeError("Missing required property 'agent_profile'") + __props__.__dict__["agent_profile"] = agent_profile + if dev_center_project_resource_id is None and not opts.urn: + raise TypeError("Missing required property 'dev_center_project_resource_id'") + __props__.__dict__["dev_center_project_resource_id"] = dev_center_project_resource_id + if fabric_profile is None and not opts.urn: + raise TypeError("Missing required property 'fabric_profile'") + __props__.__dict__["fabric_profile"] = fabric_profile + __props__.__dict__["identity"] = identity + __props__.__dict__["location"] = location + if maximum_concurrency is None and not opts.urn: + raise TypeError("Missing required property 'maximum_concurrency'") + __props__.__dict__["maximum_concurrency"] = maximum_concurrency + if organization_profile is None and not opts.urn: + raise TypeError("Missing required property 'organization_profile'") + __props__.__dict__["organization_profile"] = organization_profile + __props__.__dict__["pool_name"] = pool_name + __props__.__dict__["provisioning_state"] = provisioning_state + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["tags"] = tags + __props__.__dict__["name"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devopsinfrastructure:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231030preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20231213preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240326preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20240404preview:Pool"), pulumi.Alias(type_="azure-native:devopsinfrastructure/v20241019:Pool")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Pool, __self__).__init__( + 'azure-native:devopsinfrastructure/v20250121:Pool', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Pool': + """ + Get an existing Pool resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = PoolArgs.__new__(PoolArgs) + + __props__.__dict__["agent_profile"] = None + __props__.__dict__["dev_center_project_resource_id"] = None + __props__.__dict__["fabric_profile"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["location"] = None + __props__.__dict__["maximum_concurrency"] = None + __props__.__dict__["name"] = None + __props__.__dict__["organization_profile"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return Pool(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="agentProfile") + def agent_profile(self) -> pulumi.Output[Any]: + """ + Defines how the machine will be handled once it executed a job. + """ + return pulumi.get(self, "agent_profile") + + @property + @pulumi.getter(name="devCenterProjectResourceId") + def dev_center_project_resource_id(self) -> pulumi.Output[str]: + """ + The resource id of the DevCenter Project the pool belongs to. + """ + return pulumi.get(self, "dev_center_project_resource_id") + + @property + @pulumi.getter(name="fabricProfile") + def fabric_profile(self) -> pulumi.Output['outputs.VmssFabricProfileResponse']: + """ + Defines the type of fabric the agent will run on. + """ + return pulumi.get(self, "fabric_profile") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.ManagedServiceIdentityResponse']]: + """ + The managed service identities assigned to this resource. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="maximumConcurrency") + def maximum_concurrency(self) -> pulumi.Output[int]: + """ + Defines how many resources can there be created at any given time. + """ + return pulumi.get(self, "maximum_concurrency") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="organizationProfile") + def organization_profile(self) -> pulumi.Output[Any]: + """ + Defines the organization in which the pool will be used. + """ + return pulumi.get(self, "organization_profile") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[Optional[str]]: + """ + The status of the current operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/managedidentity/__init__.py b/sdk/python/pulumi_azure_native/managedidentity/__init__.py index cfd18657e8c9..94b14d193d23 100644 --- a/sdk/python/pulumi_azure_native/managedidentity/__init__.py +++ b/sdk/python/pulumi_azure_native/managedidentity/__init__.py @@ -20,8 +20,11 @@ v20230131 = __v20230131 import pulumi_azure_native.managedidentity.v20230731preview as __v20230731preview v20230731preview = __v20230731preview + import pulumi_azure_native.managedidentity.v20241130 as __v20241130 + v20241130 = __v20241130 else: v20220131preview = _utilities.lazy_import('pulumi_azure_native.managedidentity.v20220131preview') v20230131 = _utilities.lazy_import('pulumi_azure_native.managedidentity.v20230131') v20230731preview = _utilities.lazy_import('pulumi_azure_native.managedidentity.v20230731preview') + v20241130 = _utilities.lazy_import('pulumi_azure_native.managedidentity.v20241130') diff --git a/sdk/python/pulumi_azure_native/managedidentity/federated_identity_credential.py b/sdk/python/pulumi_azure_native/managedidentity/federated_identity_credential.py index d0ba3d5d10cf..710b622d119e 100644 --- a/sdk/python/pulumi_azure_native/managedidentity/federated_identity_credential.py +++ b/sdk/python/pulumi_azure_native/managedidentity/federated_identity_credential.py @@ -132,7 +132,7 @@ def __init__(__self__, Describes a federated identity credential. Azure REST API version: 2023-01-31. Prior API version in Azure Native 1.x: 2022-01-31-preview. - Other available API versions: 2023-07-31-preview. + Other available API versions: 2023-07-31-preview, 2024-11-30. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -153,7 +153,7 @@ def __init__(__self__, Describes a federated identity credential. Azure REST API version: 2023-01-31. Prior API version in Azure Native 1.x: 2022-01-31-preview. - Other available API versions: 2023-07-31-preview. + Other available API versions: 2023-07-31-preview, 2024-11-30. :param str resource_name: The name of the resource. :param FederatedIdentityCredentialArgs args: The arguments to use to populate this resource's properties. @@ -204,7 +204,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20230131:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20230731preview:FederatedIdentityCredential")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20230131:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20230731preview:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20241130:FederatedIdentityCredential")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(FederatedIdentityCredential, __self__).__init__( 'azure-native:managedidentity:FederatedIdentityCredential', diff --git a/sdk/python/pulumi_azure_native/managedidentity/get_federated_identity_credential.py b/sdk/python/pulumi_azure_native/managedidentity/get_federated_identity_credential.py index a5bc2b2579ee..6bcdd01dfc4f 100644 --- a/sdk/python/pulumi_azure_native/managedidentity/get_federated_identity_credential.py +++ b/sdk/python/pulumi_azure_native/managedidentity/get_federated_identity_credential.py @@ -130,7 +130,7 @@ def get_federated_identity_credential(federated_identity_credential_resource_nam Gets the federated identity credential. Azure REST API version: 2023-01-31. - Other available API versions: 2023-07-31-preview. + Other available API versions: 2023-07-31-preview, 2024-11-30. :param str federated_identity_credential_resource_name: The name of the federated identity credential resource. @@ -160,7 +160,7 @@ def get_federated_identity_credential_output(federated_identity_credential_resou Gets the federated identity credential. Azure REST API version: 2023-01-31. - Other available API versions: 2023-07-31-preview. + Other available API versions: 2023-07-31-preview, 2024-11-30. :param str federated_identity_credential_resource_name: The name of the federated identity credential resource. diff --git a/sdk/python/pulumi_azure_native/managedidentity/get_user_assigned_identity.py b/sdk/python/pulumi_azure_native/managedidentity/get_user_assigned_identity.py index ab2fb401f956..3a0ec332b0dd 100644 --- a/sdk/python/pulumi_azure_native/managedidentity/get_user_assigned_identity.py +++ b/sdk/python/pulumi_azure_native/managedidentity/get_user_assigned_identity.py @@ -153,7 +153,7 @@ def get_user_assigned_identity(resource_group_name: Optional[str] = None, Gets the identity. Azure REST API version: 2023-01-31. - Other available API versions: 2023-07-31-preview. + Other available API versions: 2023-07-31-preview, 2024-11-30. :param str resource_group_name: The name of the Resource Group to which the identity belongs. @@ -182,7 +182,7 @@ def get_user_assigned_identity_output(resource_group_name: Optional[pulumi.Input Gets the identity. Azure REST API version: 2023-01-31. - Other available API versions: 2023-07-31-preview. + Other available API versions: 2023-07-31-preview, 2024-11-30. :param str resource_group_name: The name of the Resource Group to which the identity belongs. diff --git a/sdk/python/pulumi_azure_native/managedidentity/user_assigned_identity.py b/sdk/python/pulumi_azure_native/managedidentity/user_assigned_identity.py index 5094f7aafe46..ed70bf604d79 100644 --- a/sdk/python/pulumi_azure_native/managedidentity/user_assigned_identity.py +++ b/sdk/python/pulumi_azure_native/managedidentity/user_assigned_identity.py @@ -102,7 +102,7 @@ def __init__(__self__, Describes an identity resource. Azure REST API version: 2023-01-31. Prior API version in Azure Native 1.x: 2018-11-30. - Other available API versions: 2023-07-31-preview. + Other available API versions: 2023-07-31-preview, 2024-11-30. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -121,7 +121,7 @@ def __init__(__self__, Describes an identity resource. Azure REST API version: 2023-01-31. Prior API version in Azure Native 1.x: 2018-11-30. - Other available API versions: 2023-07-31-preview. + Other available API versions: 2023-07-31-preview, 2024-11-30. :param str resource_name: The name of the resource. :param UserAssignedIdentityArgs args: The arguments to use to populate this resource's properties. @@ -163,7 +163,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["tenant_id"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity/v20150831preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20181130:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20210930preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20230131:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20230731preview:UserAssignedIdentity")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity/v20150831preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20181130:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20210930preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20230131:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20230731preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20241130:UserAssignedIdentity")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(UserAssignedIdentity, __self__).__init__( 'azure-native:managedidentity:UserAssignedIdentity', diff --git a/sdk/python/pulumi_azure_native/managedidentity/v20230131/federated_identity_credential.py b/sdk/python/pulumi_azure_native/managedidentity/v20230131/federated_identity_credential.py index e24f7c4ab23e..c4b3fdc8a812 100644 --- a/sdk/python/pulumi_azure_native/managedidentity/v20230131/federated_identity_credential.py +++ b/sdk/python/pulumi_azure_native/managedidentity/v20230131/federated_identity_credential.py @@ -198,7 +198,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20230731preview:FederatedIdentityCredential")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20230731preview:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20241130:FederatedIdentityCredential")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(FederatedIdentityCredential, __self__).__init__( 'azure-native:managedidentity/v20230131:FederatedIdentityCredential', diff --git a/sdk/python/pulumi_azure_native/managedidentity/v20230131/user_assigned_identity.py b/sdk/python/pulumi_azure_native/managedidentity/v20230131/user_assigned_identity.py index 269ecb76b4ce..6e338591cc21 100644 --- a/sdk/python/pulumi_azure_native/managedidentity/v20230131/user_assigned_identity.py +++ b/sdk/python/pulumi_azure_native/managedidentity/v20230131/user_assigned_identity.py @@ -157,7 +157,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["tenant_id"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20150831preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20181130:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20210930preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20230731preview:UserAssignedIdentity")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20150831preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20181130:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20210930preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20230731preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20241130:UserAssignedIdentity")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(UserAssignedIdentity, __self__).__init__( 'azure-native:managedidentity/v20230131:UserAssignedIdentity', diff --git a/sdk/python/pulumi_azure_native/managedidentity/v20230731preview/federated_identity_credential.py b/sdk/python/pulumi_azure_native/managedidentity/v20230731preview/federated_identity_credential.py index bfdaf915af02..7647556450b1 100644 --- a/sdk/python/pulumi_azure_native/managedidentity/v20230731preview/federated_identity_credential.py +++ b/sdk/python/pulumi_azure_native/managedidentity/v20230731preview/federated_identity_credential.py @@ -198,7 +198,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20230131:FederatedIdentityCredential")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20230131:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20241130:FederatedIdentityCredential")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(FederatedIdentityCredential, __self__).__init__( 'azure-native:managedidentity/v20230731preview:FederatedIdentityCredential', diff --git a/sdk/python/pulumi_azure_native/managedidentity/v20230731preview/user_assigned_identity.py b/sdk/python/pulumi_azure_native/managedidentity/v20230731preview/user_assigned_identity.py index 302cd37ce368..59479ea9e962 100644 --- a/sdk/python/pulumi_azure_native/managedidentity/v20230731preview/user_assigned_identity.py +++ b/sdk/python/pulumi_azure_native/managedidentity/v20230731preview/user_assigned_identity.py @@ -157,7 +157,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["tenant_id"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20150831preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20181130:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20210930preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20230131:UserAssignedIdentity")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20150831preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20181130:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20210930preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20230131:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20241130:UserAssignedIdentity")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(UserAssignedIdentity, __self__).__init__( 'azure-native:managedidentity/v20230731preview:UserAssignedIdentity', diff --git a/sdk/python/pulumi_azure_native/managedidentity/v20241130/__init__.py b/sdk/python/pulumi_azure_native/managedidentity/v20241130/__init__.py new file mode 100644 index 000000000000..7ae53cc3306b --- /dev/null +++ b/sdk/python/pulumi_azure_native/managedidentity/v20241130/__init__.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .federated_identity_credential import * +from .get_federated_identity_credential import * +from .get_user_assigned_identity import * +from .user_assigned_identity import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/managedidentity/v20241130/_enums.py b/sdk/python/pulumi_azure_native/managedidentity/v20241130/_enums.py new file mode 100644 index 000000000000..bfc3b6d19fa9 --- /dev/null +++ b/sdk/python/pulumi_azure_native/managedidentity/v20241130/_enums.py @@ -0,0 +1,17 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'IsolationScope', +] + + +class IsolationScope(str, Enum): + """ + Enum to configure regional restrictions on identity assignment, as necessary. + """ + NONE = "None" + REGIONAL = "Regional" diff --git a/sdk/python/pulumi_azure_native/managedidentity/v20241130/federated_identity_credential.py b/sdk/python/pulumi_azure_native/managedidentity/v20241130/federated_identity_credential.py new file mode 100644 index 000000000000..6fda3bfbdd2d --- /dev/null +++ b/sdk/python/pulumi_azure_native/managedidentity/v20241130/federated_identity_credential.py @@ -0,0 +1,280 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from ... import _utilities +from . import outputs + +__all__ = ['FederatedIdentityCredentialArgs', 'FederatedIdentityCredential'] + +@pulumi.input_type +class FederatedIdentityCredentialArgs: + def __init__(__self__, *, + audiences: pulumi.Input[Sequence[pulumi.Input[str]]], + issuer: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + resource_name: pulumi.Input[str], + subject: pulumi.Input[str], + federated_identity_credential_resource_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a FederatedIdentityCredential resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] audiences: The list of audiences that can appear in the issued token. + :param pulumi.Input[str] issuer: The URL of the issuer to be trusted. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] resource_name: The name of the identity resource. + :param pulumi.Input[str] subject: The identifier of the external identity. + :param pulumi.Input[str] federated_identity_credential_resource_name: The name of the federated identity credential resource. + """ + pulumi.set(__self__, "audiences", audiences) + pulumi.set(__self__, "issuer", issuer) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "resource_name", resource_name) + pulumi.set(__self__, "subject", subject) + if federated_identity_credential_resource_name is not None: + pulumi.set(__self__, "federated_identity_credential_resource_name", federated_identity_credential_resource_name) + + @property + @pulumi.getter + def audiences(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + The list of audiences that can appear in the issued token. + """ + return pulumi.get(self, "audiences") + + @audiences.setter + def audiences(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "audiences", value) + + @property + @pulumi.getter + def issuer(self) -> pulumi.Input[str]: + """ + The URL of the issuer to be trusted. + """ + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: pulumi.Input[str]): + pulumi.set(self, "issuer", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="resourceName") + def resource_name(self) -> pulumi.Input[str]: + """ + The name of the identity resource. + """ + return pulumi.get(self, "resource_name") + + @resource_name.setter + def resource_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_name", value) + + @property + @pulumi.getter + def subject(self) -> pulumi.Input[str]: + """ + The identifier of the external identity. + """ + return pulumi.get(self, "subject") + + @subject.setter + def subject(self, value: pulumi.Input[str]): + pulumi.set(self, "subject", value) + + @property + @pulumi.getter(name="federatedIdentityCredentialResourceName") + def federated_identity_credential_resource_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the federated identity credential resource. + """ + return pulumi.get(self, "federated_identity_credential_resource_name") + + @federated_identity_credential_resource_name.setter + def federated_identity_credential_resource_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "federated_identity_credential_resource_name", value) + + +class FederatedIdentityCredential(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + audiences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + federated_identity_credential_resource_name: Optional[pulumi.Input[str]] = None, + issuer: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + subject: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Describes a federated identity credential. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] audiences: The list of audiences that can appear in the issued token. + :param pulumi.Input[str] federated_identity_credential_resource_name: The name of the federated identity credential resource. + :param pulumi.Input[str] issuer: The URL of the issuer to be trusted. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] resource_name_: The name of the identity resource. + :param pulumi.Input[str] subject: The identifier of the external identity. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: FederatedIdentityCredentialArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Describes a federated identity credential. + + :param str resource_name: The name of the resource. + :param FederatedIdentityCredentialArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(FederatedIdentityCredentialArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + audiences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + federated_identity_credential_resource_name: Optional[pulumi.Input[str]] = None, + issuer: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + subject: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = FederatedIdentityCredentialArgs.__new__(FederatedIdentityCredentialArgs) + + if audiences is None and not opts.urn: + raise TypeError("Missing required property 'audiences'") + __props__.__dict__["audiences"] = audiences + __props__.__dict__["federated_identity_credential_resource_name"] = federated_identity_credential_resource_name + if issuer is None and not opts.urn: + raise TypeError("Missing required property 'issuer'") + __props__.__dict__["issuer"] = issuer + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if resource_name_ is None and not opts.urn: + raise TypeError("Missing required property 'resource_name_'") + __props__.__dict__["resource_name"] = resource_name_ + if subject is None and not opts.urn: + raise TypeError("Missing required property 'subject'") + __props__.__dict__["subject"] = subject + __props__.__dict__["name"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20230131:FederatedIdentityCredential"), pulumi.Alias(type_="azure-native:managedidentity/v20230731preview:FederatedIdentityCredential")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(FederatedIdentityCredential, __self__).__init__( + 'azure-native:managedidentity/v20241130:FederatedIdentityCredential', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'FederatedIdentityCredential': + """ + Get an existing FederatedIdentityCredential resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = FederatedIdentityCredentialArgs.__new__(FederatedIdentityCredentialArgs) + + __props__.__dict__["audiences"] = None + __props__.__dict__["issuer"] = None + __props__.__dict__["name"] = None + __props__.__dict__["subject"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + return FederatedIdentityCredential(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def audiences(self) -> pulumi.Output[Sequence[str]]: + """ + The list of audiences that can appear in the issued token. + """ + return pulumi.get(self, "audiences") + + @property + @pulumi.getter + def issuer(self) -> pulumi.Output[str]: + """ + The URL of the issuer to be trusted. + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def subject(self) -> pulumi.Output[str]: + """ + The identifier of the external identity. + """ + return pulumi.get(self, "subject") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/managedidentity/v20241130/get_federated_identity_credential.py b/sdk/python/pulumi_azure_native/managedidentity/v20241130/get_federated_identity_credential.py new file mode 100644 index 000000000000..fc42173a03be --- /dev/null +++ b/sdk/python/pulumi_azure_native/managedidentity/v20241130/get_federated_identity_credential.py @@ -0,0 +1,177 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetFederatedIdentityCredentialResult', + 'AwaitableGetFederatedIdentityCredentialResult', + 'get_federated_identity_credential', + 'get_federated_identity_credential_output', +] + +@pulumi.output_type +class GetFederatedIdentityCredentialResult: + """ + Describes a federated identity credential. + """ + def __init__(__self__, audiences=None, id=None, issuer=None, name=None, subject=None, system_data=None, type=None): + if audiences and not isinstance(audiences, list): + raise TypeError("Expected argument 'audiences' to be a list") + pulumi.set(__self__, "audiences", audiences) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if issuer and not isinstance(issuer, str): + raise TypeError("Expected argument 'issuer' to be a str") + pulumi.set(__self__, "issuer", issuer) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if subject and not isinstance(subject, str): + raise TypeError("Expected argument 'subject' to be a str") + pulumi.set(__self__, "subject", subject) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def audiences(self) -> Sequence[str]: + """ + The list of audiences that can appear in the issued token. + """ + return pulumi.get(self, "audiences") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def issuer(self) -> str: + """ + The URL of the issuer to be trusted. + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def subject(self) -> str: + """ + The identifier of the external identity. + """ + return pulumi.get(self, "subject") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetFederatedIdentityCredentialResult(GetFederatedIdentityCredentialResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetFederatedIdentityCredentialResult( + audiences=self.audiences, + id=self.id, + issuer=self.issuer, + name=self.name, + subject=self.subject, + system_data=self.system_data, + type=self.type) + + +def get_federated_identity_credential(federated_identity_credential_resource_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + resource_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetFederatedIdentityCredentialResult: + """ + Gets the federated identity credential. + + + :param str federated_identity_credential_resource_name: The name of the federated identity credential resource. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the identity resource. + """ + __args__ = dict() + __args__['federatedIdentityCredentialResourceName'] = federated_identity_credential_resource_name + __args__['resourceGroupName'] = resource_group_name + __args__['resourceName'] = resource_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:managedidentity/v20241130:getFederatedIdentityCredential', __args__, opts=opts, typ=GetFederatedIdentityCredentialResult).value + + return AwaitableGetFederatedIdentityCredentialResult( + audiences=pulumi.get(__ret__, 'audiences'), + id=pulumi.get(__ret__, 'id'), + issuer=pulumi.get(__ret__, 'issuer'), + name=pulumi.get(__ret__, 'name'), + subject=pulumi.get(__ret__, 'subject'), + system_data=pulumi.get(__ret__, 'system_data'), + type=pulumi.get(__ret__, 'type')) +def get_federated_identity_credential_output(federated_identity_credential_resource_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFederatedIdentityCredentialResult]: + """ + Gets the federated identity credential. + + + :param str federated_identity_credential_resource_name: The name of the federated identity credential resource. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the identity resource. + """ + __args__ = dict() + __args__['federatedIdentityCredentialResourceName'] = federated_identity_credential_resource_name + __args__['resourceGroupName'] = resource_group_name + __args__['resourceName'] = resource_name + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('azure-native:managedidentity/v20241130:getFederatedIdentityCredential', __args__, opts=opts, typ=GetFederatedIdentityCredentialResult) + return __ret__.apply(lambda __response__: GetFederatedIdentityCredentialResult( + audiences=pulumi.get(__response__, 'audiences'), + id=pulumi.get(__response__, 'id'), + issuer=pulumi.get(__response__, 'issuer'), + name=pulumi.get(__response__, 'name'), + subject=pulumi.get(__response__, 'subject'), + system_data=pulumi.get(__response__, 'system_data'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_azure_native/managedidentity/v20241130/get_user_assigned_identity.py b/sdk/python/pulumi_azure_native/managedidentity/v20241130/get_user_assigned_identity.py new file mode 100644 index 000000000000..018b866ca63e --- /dev/null +++ b/sdk/python/pulumi_azure_native/managedidentity/v20241130/get_user_assigned_identity.py @@ -0,0 +1,213 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetUserAssignedIdentityResult', + 'AwaitableGetUserAssignedIdentityResult', + 'get_user_assigned_identity', + 'get_user_assigned_identity_output', +] + +@pulumi.output_type +class GetUserAssignedIdentityResult: + """ + Describes an identity resource. + """ + def __init__(__self__, client_id=None, id=None, isolation_scope=None, location=None, name=None, principal_id=None, system_data=None, tags=None, tenant_id=None, type=None): + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if isolation_scope and not isinstance(isolation_scope, str): + raise TypeError("Expected argument 'isolation_scope' to be a str") + pulumi.set(__self__, "isolation_scope", isolation_scope) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if principal_id and not isinstance(principal_id, str): + raise TypeError("Expected argument 'principal_id' to be a str") + pulumi.set(__self__, "principal_id", principal_id) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if tenant_id and not isinstance(tenant_id, str): + raise TypeError("Expected argument 'tenant_id' to be a str") + pulumi.set(__self__, "tenant_id", tenant_id) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The id of the app associated with the identity. This is a random generated UUID by MSI. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isolationScope") + def isolation_scope(self) -> Optional[str]: + """ + Enum to configure regional restrictions on identity assignment, as necessary. + """ + return pulumi.get(self, "isolation_scope") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The id of the service principal object associated with the created identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The id of the tenant which the identity belongs to. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetUserAssignedIdentityResult(GetUserAssignedIdentityResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetUserAssignedIdentityResult( + client_id=self.client_id, + id=self.id, + isolation_scope=self.isolation_scope, + location=self.location, + name=self.name, + principal_id=self.principal_id, + system_data=self.system_data, + tags=self.tags, + tenant_id=self.tenant_id, + type=self.type) + + +def get_user_assigned_identity(resource_group_name: Optional[str] = None, + resource_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetUserAssignedIdentityResult: + """ + Gets the identity. + + + :param str resource_group_name: The name of the Resource Group to which the identity belongs. + :param str resource_name: The name of the identity resource. + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['resourceName'] = resource_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:managedidentity/v20241130:getUserAssignedIdentity', __args__, opts=opts, typ=GetUserAssignedIdentityResult).value + + return AwaitableGetUserAssignedIdentityResult( + client_id=pulumi.get(__ret__, 'client_id'), + id=pulumi.get(__ret__, 'id'), + isolation_scope=pulumi.get(__ret__, 'isolation_scope'), + location=pulumi.get(__ret__, 'location'), + name=pulumi.get(__ret__, 'name'), + principal_id=pulumi.get(__ret__, 'principal_id'), + system_data=pulumi.get(__ret__, 'system_data'), + tags=pulumi.get(__ret__, 'tags'), + tenant_id=pulumi.get(__ret__, 'tenant_id'), + type=pulumi.get(__ret__, 'type')) +def get_user_assigned_identity_output(resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserAssignedIdentityResult]: + """ + Gets the identity. + + + :param str resource_group_name: The name of the Resource Group to which the identity belongs. + :param str resource_name: The name of the identity resource. + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['resourceName'] = resource_name + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('azure-native:managedidentity/v20241130:getUserAssignedIdentity', __args__, opts=opts, typ=GetUserAssignedIdentityResult) + return __ret__.apply(lambda __response__: GetUserAssignedIdentityResult( + client_id=pulumi.get(__response__, 'client_id'), + id=pulumi.get(__response__, 'id'), + isolation_scope=pulumi.get(__response__, 'isolation_scope'), + location=pulumi.get(__response__, 'location'), + name=pulumi.get(__response__, 'name'), + principal_id=pulumi.get(__response__, 'principal_id'), + system_data=pulumi.get(__response__, 'system_data'), + tags=pulumi.get(__response__, 'tags'), + tenant_id=pulumi.get(__response__, 'tenant_id'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_azure_native/managedidentity/v20241130/outputs.py b/sdk/python/pulumi_azure_native/managedidentity/v20241130/outputs.py new file mode 100644 index 000000000000..9abf3f951d09 --- /dev/null +++ b/sdk/python/pulumi_azure_native/managedidentity/v20241130/outputs.py @@ -0,0 +1,131 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from ... import _utilities +from ._enums import * + +__all__ = [ + 'SystemDataResponse', +] + +@pulumi.output_type +class SystemDataResponse(dict): + """ + Metadata pertaining to creation and last modification of the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: Optional[str] = None, + created_by: Optional[str] = None, + created_by_type: Optional[str] = None, + last_modified_at: Optional[str] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[str] = None): + """ + Metadata pertaining to creation and last modification of the resource. + :param str created_at: The timestamp of resource creation (UTC). + :param str created_by: The identity that created the resource. + :param str created_by_type: The type of identity that created the resource. + :param str last_modified_at: The timestamp of resource last modification (UTC) + :param str last_modified_by: The identity that last modified the resource. + :param str last_modified_by_type: The type of identity that last modified the resource. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if created_by_type is not None: + pulumi.set(__self__, "created_by_type", created_by_type) + if last_modified_at is not None: + pulumi.set(__self__, "last_modified_at", last_modified_at) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if last_modified_by_type is not None: + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The timestamp of resource creation (UTC). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[str]: + """ + The identity that created the resource. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> Optional[str]: + """ + The type of identity that created the resource. + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> Optional[str]: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[str]: + """ + The identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> Optional[str]: + """ + The type of identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by_type") + + diff --git a/sdk/python/pulumi_azure_native/managedidentity/v20241130/user_assigned_identity.py b/sdk/python/pulumi_azure_native/managedidentity/v20241130/user_assigned_identity.py new file mode 100644 index 000000000000..00a8e17df5e9 --- /dev/null +++ b/sdk/python/pulumi_azure_native/managedidentity/v20241130/user_assigned_identity.py @@ -0,0 +1,287 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = ['UserAssignedIdentityArgs', 'UserAssignedIdentity'] + +@pulumi.input_type +class UserAssignedIdentityArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + isolation_scope: Optional[pulumi.Input[Union[str, 'IsolationScope']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a UserAssignedIdentity resource. + :param pulumi.Input[str] resource_group_name: The name of the Resource Group to which the identity belongs. + :param pulumi.Input[Union[str, 'IsolationScope']] isolation_scope: Enum to configure regional restrictions on identity assignment, as necessary. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] resource_name: The name of the identity resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if isolation_scope is not None: + pulumi.set(__self__, "isolation_scope", isolation_scope) + if location is not None: + pulumi.set(__self__, "location", location) + if resource_name is not None: + pulumi.set(__self__, "resource_name", resource_name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the Resource Group to which the identity belongs. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="isolationScope") + def isolation_scope(self) -> Optional[pulumi.Input[Union[str, 'IsolationScope']]]: + """ + Enum to configure regional restrictions on identity assignment, as necessary. + """ + return pulumi.get(self, "isolation_scope") + + @isolation_scope.setter + def isolation_scope(self, value: Optional[pulumi.Input[Union[str, 'IsolationScope']]]): + pulumi.set(self, "isolation_scope", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="resourceName") + def resource_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the identity resource. + """ + return pulumi.get(self, "resource_name") + + @resource_name.setter + def resource_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class UserAssignedIdentity(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + isolation_scope: Optional[pulumi.Input[Union[str, 'IsolationScope']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Describes an identity resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union[str, 'IsolationScope']] isolation_scope: Enum to configure regional restrictions on identity assignment, as necessary. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] resource_group_name: The name of the Resource Group to which the identity belongs. + :param pulumi.Input[str] resource_name_: The name of the identity resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: UserAssignedIdentityArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Describes an identity resource. + + :param str resource_name: The name of the resource. + :param UserAssignedIdentityArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(UserAssignedIdentityArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + isolation_scope: Optional[pulumi.Input[Union[str, 'IsolationScope']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = UserAssignedIdentityArgs.__new__(UserAssignedIdentityArgs) + + __props__.__dict__["isolation_scope"] = isolation_scope + __props__.__dict__["location"] = location + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["resource_name"] = resource_name_ + __props__.__dict__["tags"] = tags + __props__.__dict__["client_id"] = None + __props__.__dict__["name"] = None + __props__.__dict__["principal_id"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tenant_id"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:managedidentity:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20150831preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20181130:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20210930preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20220131preview:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20230131:UserAssignedIdentity"), pulumi.Alias(type_="azure-native:managedidentity/v20230731preview:UserAssignedIdentity")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(UserAssignedIdentity, __self__).__init__( + 'azure-native:managedidentity/v20241130:UserAssignedIdentity', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'UserAssignedIdentity': + """ + Get an existing UserAssignedIdentity resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = UserAssignedIdentityArgs.__new__(UserAssignedIdentityArgs) + + __props__.__dict__["client_id"] = None + __props__.__dict__["isolation_scope"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["principal_id"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["tenant_id"] = None + __props__.__dict__["type"] = None + return UserAssignedIdentity(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + The id of the app associated with the identity. This is a random generated UUID by MSI. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="isolationScope") + def isolation_scope(self) -> pulumi.Output[Optional[str]]: + """ + Enum to configure regional restrictions on identity assignment, as necessary. + """ + return pulumi.get(self, "isolation_scope") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> pulumi.Output[str]: + """ + The id of the service principal object associated with the created identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> pulumi.Output[str]: + """ + The id of the tenant which the identity belongs to. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/versions/az-provider-list.json b/versions/az-provider-list.json index 05a6079a8d11..507998b1f66d 100644 --- a/versions/az-provider-list.json +++ b/versions/az-provider-list.json @@ -481,6 +481,7 @@ "resourceTypes": [ { "apiVersions": [ + "2024-11-29-preview", "2024-07-22-preview", "2024-05-08", "2023-08-20-preview", @@ -492,6 +493,7 @@ }, { "apiVersions": [ + "2024-11-29-preview", "2024-07-22-preview", "2024-05-08", "2023-08-20-preview", @@ -503,6 +505,7 @@ }, { "apiVersions": [ + "2024-11-29-preview", "2024-07-22-preview", "2024-05-08", "2023-08-20-preview", @@ -516,6 +519,7 @@ "East US 2", "Germany West Central", "UAE North", + "Southeast Asia", "Australia Central", "Canada Central" ], @@ -523,6 +527,7 @@ }, { "apiVersions": [ + "2024-11-29-preview", "2024-07-22-preview", "2024-05-08", "2023-08-20-preview", @@ -534,6 +539,7 @@ }, { "apiVersions": [ + "2024-11-29-preview", "2024-07-22-preview", "2024-05-08", "2023-08-20-preview", @@ -545,6 +551,7 @@ "Germany West Central", "East US 2", "UAE North", + "Southeast Asia", "Canada Central", "Australia Central", "East US 2 EUAP", @@ -554,6 +561,7 @@ }, { "apiVersions": [ + "2024-11-29-preview", "2024-07-22-preview", "2024-05-08", "2023-08-20-preview" @@ -567,12 +575,14 @@ "Australia Central", "East US 2 EUAP", "UAE North", + "Southeast Asia", "Central US EUAP" ], "resourceType": "organizations/serverlessRuntimes" }, { "apiVersions": [ + "2024-11-29-preview", "2024-07-22-preview", "2024-05-08", "2023-08-20-preview", @@ -584,6 +594,7 @@ "Germany West Central", "East US 2", "UAE North", + "Southeast Asia", "Canada Central", "Australia Central", "East US 2 EUAP", @@ -593,6 +604,7 @@ }, { "apiVersions": [ + "2024-11-29-preview", "2024-07-22-preview", "2024-05-08", "2023-08-20-preview", @@ -5663,6 +5675,7 @@ "resourceTypes": [ { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview" ], @@ -5672,6 +5685,7 @@ }, { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview" ], @@ -5681,6 +5695,7 @@ }, { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview" ], @@ -5690,6 +5705,7 @@ }, { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview" ], @@ -5699,6 +5715,7 @@ }, { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview", "2022-11-16-preview", @@ -5710,6 +5727,7 @@ }, { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview", "2022-11-16-preview", @@ -5723,6 +5741,7 @@ }, { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview" ], @@ -5732,6 +5751,7 @@ }, { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview", "2022-11-16-preview", @@ -5744,18 +5764,22 @@ }, { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview", "2022-11-16-preview", "2022-05-10-privatepreview", "2022-05-10-beta" ], - "defaultApiVersion": null, - "locations": [], + "defaultApiVersion": "2024-12-15-preview", + "locations": [ + "global" + ], "resourceType": "reports" }, { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview" ], @@ -5765,6 +5789,7 @@ }, { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview" ], @@ -5774,6 +5799,7 @@ }, { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview", "2022-11-16-preview", @@ -5786,6 +5812,15 @@ }, { "apiVersions": [ + "2024-12-15-preview" + ], + "defaultApiVersion": "2024-12-15-preview", + "locations": [], + "resourceType": "reports/snapshots/controls" + }, + { + "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview" ], @@ -5795,6 +5830,7 @@ }, { "apiVersions": [ + "2024-12-15-preview", "2024-06-27", "2023-02-15-preview" ], @@ -6082,6 +6118,7 @@ "Mexico Central", "Spain Central", "New Zealand North", + "UAE Central", "East US 2 EUAP" ], "resourceType": "configurationStores/keyValues" @@ -8299,6 +8336,7 @@ }, { "apiVersions": [ + "2024-05-01", "2023-04-01" ], "defaultApiVersion": null, @@ -8307,6 +8345,7 @@ }, { "apiVersions": [ + "2024-05-01", "2023-04-01" ], "defaultApiVersion": null, @@ -8367,6 +8406,7 @@ }, { "apiVersions": [ + "2024-05-01", "2024-04-01", "2023-04-01", "2022-06-01", @@ -8390,6 +8430,7 @@ }, { "apiVersions": [ + "2024-05-01", "2023-04-01", "2021-06-01", "2020-09-01", @@ -8410,6 +8451,7 @@ }, { "apiVersions": [ + "2024-05-01", "2023-04-01" ], "defaultApiVersion": null, @@ -8427,6 +8469,7 @@ }, { "apiVersions": [ + "2024-05-01", "2023-04-01", "2021-06-01", "2020-09-01", @@ -8445,6 +8488,7 @@ }, { "apiVersions": [ + "2024-05-01", "2023-04-01" ], "defaultApiVersion": null, @@ -14476,6 +14520,35 @@ } ] }, + { + "namespace": "Microsoft.AzureTerraform", + "resourceTypes": [ + { + "apiVersions": [ + "2023-07-01-preview" + ], + "defaultApiVersion": "2023-07-01-preview", + "locations": [], + "resourceType": "exportTerraform" + }, + { + "apiVersions": [ + "2023-07-01-preview" + ], + "defaultApiVersion": "2023-07-01-preview", + "locations": [], + "resourceType": "operationStatuses" + }, + { + "apiVersions": [ + "2023-07-01-preview" + ], + "defaultApiVersion": "2023-07-01-preview", + "locations": [], + "resourceType": "operations" + } + ] + }, { "namespace": "Microsoft.BackupSolutions", "resourceTypes": [ @@ -37952,6 +38025,8 @@ "resourceTypes": [ { "apiVersions": [ + "2024-10-02-preview", + "2024-10-01", "2024-09-02-preview", "2024-09-01", "2024-08-02-preview", @@ -38541,6 +38616,8 @@ }, { "apiVersions": [ + "2024-10-02-preview", + "2024-10-01", "2024-09-02-preview", "2024-09-01", "2024-08-02-preview", @@ -38634,6 +38711,8 @@ }, { "apiVersions": [ + "2024-10-02-preview", + "2024-10-01", "2024-09-02-preview", "2024-09-01", "2024-08-02-preview", @@ -38719,6 +38798,7 @@ }, { "apiVersions": [ + "2024-10-02-preview", "2024-09-02-preview", "2024-08-02-preview", "2024-07-02-preview", @@ -38786,6 +38866,7 @@ }, { "apiVersions": [ + "2024-10-02-preview", "2024-09-02-preview", "2024-08-02-preview", "2024-07-02-preview", @@ -38868,6 +38949,8 @@ }, { "apiVersions": [ + "2024-10-02-preview", + "2024-10-01", "2024-09-02-preview", "2024-09-01", "2024-08-02-preview", @@ -39001,6 +39084,8 @@ }, { "apiVersions": [ + "2024-10-02-preview", + "2024-10-01", "2024-09-02-preview", "2024-09-01", "2024-08-02-preview", @@ -39352,6 +39437,7 @@ }, { "apiVersions": [ + "2024-10-02-preview", "2024-09-02-preview", "2024-08-02-preview", "2024-07-02-preview", @@ -39421,6 +39507,8 @@ }, { "apiVersions": [ + "2024-10-02-preview", + "2024-10-01", "2024-09-02-preview", "2024-09-01", "2024-08-02-preview", @@ -39512,6 +39600,8 @@ }, { "apiVersions": [ + "2024-10-02-preview", + "2024-10-01", "2024-09-02-preview", "2024-09-01", "2024-08-02-preview", @@ -39591,6 +39681,8 @@ }, { "apiVersions": [ + "2024-10-02-preview", + "2024-10-01", "2024-09-02-preview", "2024-09-01", "2024-08-02-preview", @@ -39723,6 +39815,7 @@ }, { "apiVersions": [ + "2024-10-02-preview", "2024-09-02-preview", "2024-08-02-preview", "2024-07-02-preview", @@ -39804,6 +39897,8 @@ }, { "apiVersions": [ + "2024-10-02-preview", + "2024-10-01", "2024-09-02-preview", "2024-09-01", "2024-08-02-preview", @@ -39942,6 +40037,8 @@ }, { "apiVersions": [ + "2024-10-02-preview", + "2024-10-01", "2024-09-02-preview", "2024-09-01", "2024-08-02-preview", @@ -52618,6 +52715,7 @@ { "apiVersions": [ "2024-11-14-preview", + "2024-11-01-preview", "2024-09-10", "2024-09-01-privatepreview", "2024-08-08-preview", @@ -55090,6 +55188,7 @@ { "apiVersions": [ "2024-11-01", + "2024-10-01-preview", "2024-09-01-preview", "2024-07-01-preview" ], @@ -55138,6 +55237,7 @@ { "apiVersions": [ "2024-11-01", + "2024-10-01-preview", "2024-09-01-preview", "2024-07-01-preview", "2023-11-01-preview", @@ -55176,6 +55276,7 @@ { "apiVersions": [ "2024-11-01", + "2024-10-01-preview", "2024-09-01-preview", "2024-07-01-preview", "2023-11-01-preview", @@ -55192,6 +55293,7 @@ { "apiVersions": [ "2024-11-01", + "2024-10-01-preview", "2024-09-01-preview", "2024-07-01-preview", "2023-11-01-preview", @@ -67855,6 +67957,7 @@ "resourceTypes": [ { "apiVersions": [ + "2024-12-15-preview", "2024-12-01", "2024-08-01-preview", "2023-04-01-preview", @@ -67918,6 +68021,7 @@ }, { "apiVersions": [ + "2024-12-15-preview", "2024-12-01", "2024-08-01-preview", "2023-12-01-preview", @@ -74645,7 +74749,7 @@ "2020-10-01-preview", "2020-10-01" ], - "defaultApiVersion": null, + "defaultApiVersion": "2020-10-01", "locations": [], "resourceType": "locations" }, @@ -74655,7 +74759,7 @@ "2020-10-01-preview", "2020-10-01" ], - "defaultApiVersion": null, + "defaultApiVersion": "2020-10-01", "locations": [ "Central US EUAP", "East US 2 EUAP", @@ -74670,7 +74774,7 @@ "2020-10-01-preview", "2020-10-01" ], - "defaultApiVersion": null, + "defaultApiVersion": "2020-10-01", "locations": [ "West US 2", "West Europe", @@ -74685,7 +74789,7 @@ "2020-10-01-preview", "2020-10-01" ], - "defaultApiVersion": null, + "defaultApiVersion": "2020-10-01", "locations": [ "West US 2", "West Europe", @@ -74700,7 +74804,7 @@ "2020-10-01-preview", "2020-10-01" ], - "defaultApiVersion": null, + "defaultApiVersion": "2020-10-01", "locations": [ "West US 2", "West Europe", @@ -74715,7 +74819,7 @@ "2020-10-01-preview", "2020-10-01" ], - "defaultApiVersion": null, + "defaultApiVersion": "2020-10-01", "locations": [ "West US 2", "West Europe", @@ -74730,7 +74834,7 @@ "2020-10-01-preview", "2020-10-01" ], - "defaultApiVersion": null, + "defaultApiVersion": "2020-10-01", "locations": [ "West US 2", "West Europe", @@ -74745,7 +74849,7 @@ "2020-10-01-preview", "2020-10-01" ], - "defaultApiVersion": null, + "defaultApiVersion": "2020-10-01", "locations": [], "resourceType": "operations" }, @@ -82608,6 +82712,7 @@ { "apiVersions": [ "2024-03-03-preview", + "2024-01-01-preview", "2023-09-09-preview", "2023-07-07-preview", "2023-05-01-preview", @@ -82661,6 +82766,7 @@ { "apiVersions": [ "2024-03-03-preview", + "2024-01-01-preview", "2023-09-09-preview", "2023-07-07-preview", "2023-05-01-preview", @@ -83662,6 +83768,8 @@ "resourceTypes": [ { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -83713,7 +83821,7 @@ "2019-05-01", "2017-08-15" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -83765,6 +83873,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -83796,7 +83906,7 @@ "2021-10-01", "2021-08-01" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -83847,6 +83957,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -83878,7 +83990,7 @@ "2021-08-01", "2021-06-01" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -83929,6 +84041,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -83979,7 +84093,7 @@ "2019-05-01", "2017-08-15" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -84030,6 +84144,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -84080,7 +84196,7 @@ "2019-05-01", "2017-08-15" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -84131,6 +84247,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -84171,7 +84289,7 @@ "2020-07-01", "2020-06-01" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -84222,6 +84340,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -84274,7 +84394,7 @@ "2019-05-01", "2017-08-15" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -84325,6 +84445,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -84349,7 +84471,7 @@ "2022-11-01", "2021-12-01-preview" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -84400,6 +84522,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -84425,7 +84549,7 @@ "2021-12-01-preview", "2021-04-01-preview" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -84476,6 +84600,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -84492,7 +84618,7 @@ "2023-07-01", "2023-05-01-preview" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -84543,6 +84669,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -84567,7 +84695,7 @@ "2022-11-01", "2021-12-01-preview" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -84618,6 +84746,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -84668,7 +84798,7 @@ "2019-05-01", "2017-08-15" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -84791,6 +84921,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -84832,7 +84964,7 @@ "2020-06-01", "2020-05-01" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -84883,6 +85015,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -84901,7 +85035,7 @@ "2023-01-01-preview", "2022-11-01-preview" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -84952,6 +85086,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -84970,7 +85106,7 @@ "2023-01-01-preview", "2022-11-01-preview" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -85021,6 +85157,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -85072,7 +85210,7 @@ "2019-05-01", "2017-08-15" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -85123,6 +85261,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -85175,7 +85315,7 @@ "2019-05-01", "2017-08-15" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -85357,6 +85497,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -85408,7 +85550,7 @@ "2019-05-01", "2017-08-15" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -85459,6 +85601,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -85488,7 +85632,7 @@ "2022-03-01", "2022-01-01" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -85539,6 +85683,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -85580,7 +85726,7 @@ "2020-06-01", "2020-05-01" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -85703,6 +85849,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -85736,7 +85884,7 @@ "2021-04-01", "2021-02-01" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -85787,6 +85935,8 @@ }, { "apiVersions": [ + "2024-09-01-preview", + "2024-09-01", "2024-07-01-preview", "2024-07-01", "2024-05-01-preview", @@ -85840,7 +85990,7 @@ "2019-05-01", "2017-08-15" ], - "defaultApiVersion": "2024-07-01", + "defaultApiVersion": "2024-09-01", "locations": [ "Australia Central", "Australia Central 2", @@ -98911,6 +99061,37 @@ { "namespace": "Microsoft.Nutanix", "resourceTypes": [ + { + "apiVersions": [ + "2020-06-01-preview", + "2020-06-01" + ], + "defaultApiVersion": "2020-06-01", + "locations": [ + "Australia East", + "Canada Central", + "Central India", + "Central US", + "East US", + "East US 2", + "Germany West Central", + "Japan East", + "North Central US", + "Qatar Central", + "South India", + "Southeast Asia", + "Sweden Central", + "UAE North", + "UK South", + "West Central US", + "West Europe", + "West US", + "West US 2", + "Central US EUAP", + "East US 2 EUAP" + ], + "resourceType": "interfaces" + }, { "apiVersions": [ "2020-06-01-preview", @@ -98920,6 +99101,65 @@ "locations": [], "resourceType": "locations" }, + { + "apiVersions": [ + "2020-06-01-preview", + "2020-06-01" + ], + "defaultApiVersion": null, + "locations": [ + "Australia East", + "Canada Central", + "Central India", + "Central US", + "East US", + "East US 2", + "Germany West Central", + "Japan East", + "North Central US", + "Qatar Central", + "South India", + "Southeast Asia", + "UAE North", + "UK South", + "West Central US", + "West Europe", + "West US", + "West US 2", + "Central US EUAP", + "East US 2 EUAP" + ], + "resourceType": "locations/operationResults" + }, + { + "apiVersions": [ + "2020-06-01-preview", + "2020-06-01" + ], + "defaultApiVersion": "2020-06-01", + "locations": [ + "Australia East", + "Canada Central", + "Central India", + "East US", + "East US 2", + "Germany West Central", + "Japan East", + "North Central US", + "Qatar Central", + "South India", + "Southeast Asia", + "UAE North", + "UK South", + "West Central US", + "West Europe", + "West US", + "West US 2", + "Central US EUAP", + "East US 2 EUAP" + ], + "resourceType": "nodes" + }, { "apiVersions": [ "2020-06-01-preview", @@ -102718,6 +102958,7 @@ "resourceTypes": [ { "apiVersions": [ + "2024-09-01", "2024-08-01-preview", "2024-04-01-preview", "2023-10-01-preview", @@ -102738,6 +102979,7 @@ }, { "apiVersions": [ + "2024-09-01", "2024-08-01-preview", "2024-04-01-preview", "2023-10-01-preview", @@ -102760,6 +103002,7 @@ }, { "apiVersions": [ + "2024-09-01", "2024-08-01-preview", "2024-04-01-preview", "2023-10-01-preview", @@ -102781,6 +103024,7 @@ }, { "apiVersions": [ + "2024-09-01", "2024-08-01-preview", "2024-04-01-preview", "2023-10-01-preview", @@ -102802,6 +103046,7 @@ }, { "apiVersions": [ + "2024-09-01", "2024-08-01-preview", "2024-04-01-preview", "2023-10-01-preview", @@ -102815,6 +103060,7 @@ }, { "apiVersions": [ + "2024-09-01", "2024-08-01-preview", "2024-04-01-preview", "2023-10-01-preview", @@ -102836,6 +103082,7 @@ }, { "apiVersions": [ + "2024-09-01", "2024-08-01-preview", "2024-04-01-preview", "2023-10-01-preview", @@ -102857,6 +103104,7 @@ }, { "apiVersions": [ + "2024-09-01", "2024-08-01-preview", "2024-04-01-preview", "2023-10-01-preview", @@ -102878,6 +103126,7 @@ }, { "apiVersions": [ + "2024-09-01", "2024-08-01-preview", "2024-02-01-preview", "2023-08-01-preview", @@ -102900,6 +103149,7 @@ }, { "apiVersions": [ + "2024-09-01", "2024-08-01-preview", "2024-04-01-preview", "2023-10-01-preview", @@ -102921,6 +103171,7 @@ }, { "apiVersions": [ + "2024-09-01", "2024-08-01-preview", "2024-04-01-preview", "2023-10-01-preview", @@ -115072,6 +115323,7 @@ }, { "apiVersions": [ + "2024-11-01-preview", "2024-09-01-preview", "2024-06-01-preview", "2024-04-01", @@ -115144,6 +115396,7 @@ }, { "apiVersions": [ + "2024-11-01-preview", "2024-09-01-preview", "2024-06-01-preview", "2024-04-01", @@ -115216,6 +115469,7 @@ }, { "apiVersions": [ + "2024-11-01-preview", "2024-09-01-preview", "2024-06-01-preview", "2024-04-01", @@ -115288,6 +115542,7 @@ }, { "apiVersions": [ + "2024-11-01-preview", "2024-09-01-preview", "2024-06-01-preview", "2024-04-01", @@ -115360,6 +115615,7 @@ }, { "apiVersions": [ + "2024-11-01-preview", "2024-09-01-preview", "2024-06-01-preview", "2024-04-01", @@ -115654,6 +115910,7 @@ }, { "apiVersions": [ + "2024-11-01-preview", "2024-09-01-preview", "2024-06-01-preview", "2024-04-01", @@ -115726,6 +115983,7 @@ }, { "apiVersions": [ + "2024-11-01-preview", "2024-09-01-preview", "2024-06-01-preview", "2024-04-01", @@ -115797,6 +116055,7 @@ }, { "apiVersions": [ + "2024-11-01-preview", "2024-09-01-preview", "2024-06-01-preview", "2024-04-01", @@ -115868,6 +116127,7 @@ }, { "apiVersions": [ + "2024-11-01-preview", "2024-09-01-preview", "2024-06-01-preview", "2024-04-01", @@ -115939,6 +116199,7 @@ }, { "apiVersions": [ + "2024-11-01-preview", "2024-09-01-preview", "2024-06-01-preview", "2024-04-01", @@ -116010,6 +116271,7 @@ }, { "apiVersions": [ + "2024-11-01-preview", "2024-09-01-preview", "2024-06-01-preview", "2024-04-01", @@ -116082,6 +116344,7 @@ }, { "apiVersions": [ + "2024-11-01-preview", "2024-09-01-preview", "2024-06-01-preview", "2024-04-01", @@ -116992,6 +117255,7 @@ "resourceTypes": [ { "apiVersions": [ + "2025-01-01", "2024-05-01-preview", "2023-11-01", "2023-05-01-preview", @@ -117003,6 +117267,7 @@ }, { "apiVersions": [ + "2025-01-01", "2024-05-01-preview", "2023-11-01", "2023-05-01-preview", @@ -117014,6 +117279,7 @@ }, { "apiVersions": [ + "2025-01-01", "2024-05-01-preview", "2023-11-01", "2023-05-01-preview", @@ -117025,6 +117291,7 @@ }, { "apiVersions": [ + "2025-01-01", "2024-05-01-preview", "2023-11-01", "2023-05-01-preview", @@ -117059,6 +117326,7 @@ }, { "apiVersions": [ + "2025-01-01", "2024-05-01-preview", "2023-11-01", "2023-05-01-preview", @@ -117093,6 +117361,7 @@ }, { "apiVersions": [ + "2025-01-01", "2024-05-01-preview", "2023-11-01", "2023-05-01-preview", @@ -117127,6 +117396,7 @@ }, { "apiVersions": [ + "2025-01-01", "2024-05-01-preview", "2023-11-01", "2023-05-01-preview", @@ -118647,6 +118917,102 @@ ], "resourceType": "locations/instanceTypeSeries/instanceTypes" }, + { + "apiVersions": [ + "2020-12-01-preview" + ], + "defaultApiVersion": null, + "locations": [ + "West Central US", + "East US", + "East US 2", + "West Europe", + "Southeast Asia", + "Central US", + "North Central US", + "West US", + "East Asia", + "Japan East", + "Japan West", + "Brazil South", + "North Europe", + "Australia East", + "West US 2", + "West US 3", + "South Central US", + "Canada Central", + "UK South", + "Central India", + "France Central", + "Korea Central", + "Germany West Central", + "Switzerland North", + "UAE North", + "South Africa North", + "Norway East", + "Canada East", + "Sweden Central", + "UK West", + "Australia Southeast", + "Qatar Central", + "South India", + "Poland Central", + "Switzerland West", + "Italy North", + "Spain Central", + "Israel Central", + "Central US EUAP" + ], + "resourceType": "locations/operationNewResults" + }, + { + "apiVersions": [ + "2020-12-01-preview" + ], + "defaultApiVersion": null, + "locations": [ + "West Central US", + "East US", + "East US 2", + "West Europe", + "Southeast Asia", + "Central US", + "North Central US", + "West US", + "East Asia", + "Japan East", + "Japan West", + "Brazil South", + "North Europe", + "Australia East", + "West US 2", + "West US 3", + "South Central US", + "Canada Central", + "UK South", + "Central India", + "France Central", + "Korea Central", + "Germany West Central", + "Switzerland North", + "UAE North", + "South Africa North", + "Norway East", + "Canada East", + "Sweden Central", + "UK West", + "Australia Southeast", + "Qatar Central", + "South India", + "Poland Central", + "Switzerland West", + "Italy North", + "Spain Central", + "Israel Central", + "Central US EUAP" + ], + "resourceType": "locations/operationNewStatus" + }, { "apiVersions": [ "2020-12-01-preview" @@ -140321,9 +140687,7 @@ "2018-03-01-preview" ], "defaultApiVersion": null, - "locations": [ - "Central US" - ], + "locations": [], "resourceType": "CreateSubscription" }, { @@ -140331,9 +140695,7 @@ "2017-11-01-preview" ], "defaultApiVersion": null, - "locations": [ - "West US" - ], + "locations": [], "resourceType": "SubscriptionDefinitions" }, { @@ -140347,9 +140709,7 @@ "2017-11-01-preview" ], "defaultApiVersion": null, - "locations": [ - "West US" - ], + "locations": [], "resourceType": "SubscriptionOperations" }, { @@ -140403,9 +140763,7 @@ "2019-03-01-preview" ], "defaultApiVersion": null, - "locations": [ - "West US" - ], + "locations": [], "resourceType": "cancel" }, { @@ -140445,9 +140803,7 @@ "2019-03-01-preview" ], "defaultApiVersion": null, - "locations": [ - "West US" - ], + "locations": [], "resourceType": "enable" }, { @@ -140455,9 +140811,7 @@ "2019-10-01-preview" ], "defaultApiVersion": null, - "locations": [ - "Central US" - ], + "locations": [], "resourceType": "operationResults" }, { @@ -140467,9 +140821,7 @@ "2017-11-01-preview" ], "defaultApiVersion": null, - "locations": [ - "West US" - ], + "locations": [], "resourceType": "operations" }, { @@ -140491,9 +140843,7 @@ "2019-03-01-preview" ], "defaultApiVersion": null, - "locations": [ - "West US" - ], + "locations": [], "resourceType": "rename" }, { @@ -141925,9 +142275,10 @@ "resourceTypes": [ { "apiVersions": [ + "2024-12-01-preview", "2024-11-01-preview" ], - "defaultApiVersion": "2024-11-01-preview", + "defaultApiVersion": "2024-12-01-preview", "locations": [ "East US 2 EUAP", "Central US EUAP" @@ -149512,6 +149863,202 @@ } ] }, + { + "namespace": "PureStorage.Block", + "resourceTypes": [ + { + "apiVersions": [ + "2023-06-01-preview" + ], + "defaultApiVersion": null, + "locations": [], + "resourceType": "checkNameAvailability" + }, + { + "apiVersions": [ + "2024-10-01-preview", + "2024-08-01-preview", + "2024-06-01-preview", + "2023-06-01-preview" + ], + "defaultApiVersion": "2024-10-01-preview", + "locations": [], + "resourceType": "locations" + }, + { + "apiVersions": [ + "2024-10-01-preview", + "2024-08-01-preview", + "2024-06-01-preview", + "2023-06-01-preview" + ], + "defaultApiVersion": "2024-10-01-preview", + "locations": [ + "Central US EUAP", + "East US 2 EUAP", + "East US", + "East US 2", + "UK South", + "West US 2", + "West Europe", + "Southeast Asia", + "Central US", + "Australia East", + "South Central US" + ], + "resourceType": "locations/operationStatuses" + }, + { + "apiVersions": [ + "2024-10-01-preview", + "2024-08-01-preview", + "2024-06-01-preview", + "2023-06-01-preview" + ], + "defaultApiVersion": "2024-10-01-preview", + "locations": [], + "resourceType": "operations" + }, + { + "apiVersions": [ + "2024-10-01-preview", + "2024-08-01-preview", + "2024-06-01-preview", + "2023-06-01-preview" + ], + "defaultApiVersion": "2024-10-01-preview", + "locations": [ + "East US", + "East US 2", + "UK South", + "West US 2", + "West Europe", + "Southeast Asia", + "Central US", + "Australia East", + "South Central US", + "Central US EUAP", + "East US 2 EUAP" + ], + "resourceType": "reservations" + }, + { + "apiVersions": [ + "2024-10-01-preview", + "2024-08-01-preview", + "2024-06-01-preview", + "2023-06-01-preview" + ], + "defaultApiVersion": "2024-10-01-preview", + "locations": [ + "East US", + "East US 2", + "UK South", + "West Europe", + "West US 2", + "Southeast Asia", + "Central US", + "Australia East", + "South Central US", + "Central US EUAP", + "East US 2 EUAP" + ], + "resourceType": "storagePools" + }, + { + "apiVersions": [ + "2024-10-01-preview", + "2024-08-01-preview", + "2024-06-01-preview", + "2023-06-01-preview" + ], + "defaultApiVersion": "2024-10-01-preview", + "locations": [ + "East US", + "East US 2", + "UK South", + "West US 2", + "West Europe", + "Southeast Asia", + "Central US", + "Australia East", + "South Central US", + "Central US EUAP", + "East US 2 EUAP" + ], + "resourceType": "storagePools/avsStorageContainers" + }, + { + "apiVersions": [ + "2024-10-01-preview", + "2024-08-01-preview", + "2024-06-01-preview", + "2023-06-01-preview" + ], + "defaultApiVersion": "2024-10-01-preview", + "locations": [ + "East US", + "East US 2", + "UK South", + "West US 2", + "West Europe", + "Southeast Asia", + "Central US", + "Australia East", + "South Central US", + "Central US EUAP", + "East US 2 EUAP" + ], + "resourceType": "storagePools/avsStorageContainers/volumes" + }, + { + "apiVersions": [ + "2024-10-01-preview", + "2024-08-01-preview", + "2024-06-01-preview", + "2023-06-01-preview" + ], + "defaultApiVersion": "2024-10-01-preview", + "locations": [ + "East US", + "East US 2", + "UK South", + "West Europe", + "West US 2", + "Southeast Asia", + "Central US", + "Australia East", + "South Central US", + "Central US EUAP", + "East US 2 EUAP" + ], + "resourceType": "storagePools/avsVms" + }, + { + "apiVersions": [ + "2024-10-01-preview", + "2024-08-01-preview", + "2024-06-01-preview", + "2023-06-01-preview" + ], + "defaultApiVersion": "2024-10-01-preview", + "locations": [ + "East US", + "East US 2", + "UK South", + "West US 2", + "West Europe", + "Southeast Asia", + "Central US", + "Australia East", + "South Central US", + "Central US EUAP", + "East US 2 EUAP" + ], + "resourceType": "storagePools/avsVms/avsVmVolumes" + } + ] + }, { "namespace": "Qumulo.Storage", "resourceTypes": [