Back to Azure Sdk For

Generated code configuration

sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/src/autorest.md

2019-05-16T16-5211.7 KB
Original Source

Generated code configuration

Run dotnet build /t:GenerateCode to generate code.

yaml
azure-arm: true
csharp: true
library-name: ContainerRegistry
namespace: Azure.ResourceManager.ContainerRegistry
# Temporarily releasing the SDK from the Swagger specification; this will be updated once support for generating SDKs from multiple TypeSpec sources is available.
input-file:
  - https://github.com/Azure/azure-rest-api-specs/blob/4ab67896de206f57818ab7a3fa32bcc2745c8198/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/Registry/preview/2026-01-01-preview/containerregistry.json
  - https://github.com/Azure/azure-rest-api-specs/blob/6fb4ee637122d3105eaa2d3cf4ed7689d3407413/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/RegistryTasks/preview/2025-03-01-preview/containerregistry_build.json
output-folder: $(this-folder)/Generated
clear-output-folder: true
sample-gen:
  output-folder: $(this-folder)/../tests/Generated
  clear-output-folder: true
skip-csproj: true
modelerfour:
  flatten-payloads: false
  lenient-model-deduplication: true
use-model-reader-writer: true
enable-bicep-serialization: true

#mgmt-debug:
#  show-serialized-names: true

format-by-name-rules:
  'tenantId': 'uuid'
  'ETag': 'etag'
  'location': 'azure-location'
  '*Uri': 'Uri'
  '*Uris': 'Uri'
  '*ResourceId': 'arm-id'
  'PrincipalId': 'uuid'
  'taskId': 'arm-id'
  'tokenId': 'arm-id'
  'scopeMapId': 'arm-id'

acronym-mapping:
  CPU: Cpu
  CPUs: Cpus
  Os: OS
  Ip: IP
  Ips: IPs|ips
  ID: Id
  IDs: Ids
  VM: Vm
  VMs: Vms
  VMScaleSet: VmScaleSet
  DNS: Dns
  VPN: Vpn
  NAT: Nat
  WAN: Wan
  Ipv4: IPv4|ipv4
  Ipv6: IPv6|ipv6
  Ipsec: IPsec|ipsec
  SSO: Sso
  URI: Uri
  Etag: ETag|etag
  Useragent: UserAgent
  Vaultsecret: VaultSecret
  Pullrequest: PullRequest
  PAT: Pat

keep-plural-enums:
  - ContainerRegistryOS

prepend-rp-prefix:
  - AgentPool
  - AgentPoolListResult
  - AgentPoolQueueStatus
  - AgentProperties
  - Archive
  - ArchiveListResult
  - ArchivePackageSourceProperties
  - ArchivePatch
  - ArchiveVersion
  - ArchiveVersionListResult
  - AuthCredential
  - BaseImageDependency
  - BaseImageDependencyType
  - BaseImageTrigger
  - BaseImageTriggerType
  - CacheRule
  - CertificateType
  - CredentialHealth
  - CredentialHealthStatus
  - CredentialName
  - Credentials
  - CredentialSet
  - DockerBuildStep
  - EncodedTaskStep
  - EncryptionStatus
  - EndpointProtocol
  - ExportPipeline
  - ExportPipelineListResult
  - ExportPipelineTargetProperties
  - ExportPolicy
  - ExportPolicyStatus
  - FileTaskStep
  - GenerateCredentialsResult
  - ImageDescriptor
  - ImageUpdateTrigger
  - ImportImageParameters
  - ImportMode
  - ImportPipeline
  - ImportPipelineListResult
  - ImportPipelineSourceProperties
  - ImportSource
  - ImportSourceCredentials
  - IPRule
  - KeyVaultProperties
  - MetadataSearch
  - NetworkRuleSet
  - OverrideTaskStepProperties
  - PackageSourceType
  - PasswordName
  - PipelineOption
  - PipelineRun
  - PipelineRunListResult
  - PipelineRunSourceProperties
  - PipelineRunSourceType
  - PipelineRunTargetProperties
  - PipelineRunTargetType
  - PipelineSourceTriggerDescriptor
  - PipelineSourceTriggerProperties
  - PipelineSourceType
  - PipelineTriggerDescriptor
  - PipelineTriggerProperties
  - PlatformProperties
  - Policies
  - PolicyStatus
  - ProgressProperties
  - ProvisioningState
  - PublicNetworkAccess
  - QuarantinePolicy
  - RegionalEndpoint
  - Replication
  - ReplicationListResult
  - RetentionPolicy
  - Run
  - RunGetLogResult
  - RunListResult
  - RunStatus
  - RunType
  - SecretObject
  - SecretObjectType
  - SoftDeletePolicy
  - SourceTrigger
  - SourceTriggerDescriptor
  - SourceTriggerEvent
  - StorageAccessMode
  - SyncState
  - SyncTrigger
  - Task
  - TaskListResult
  - TaskRun
  - TaskRunListResult
  - TaskStatus
  - TaskStepProperties
  - TimerTrigger
  - TimerTriggerDescriptor
  - TlsCertificateProperties
  - TlsProperties
  - TlsStatus
  - Token
  - TokenCertificate
  - TokenCertificateName
  - TokenListResult
  - TokenPassword
  - TokenPasswordName
  - TokenStatus
  - TriggerProperties
  - TriggerStatus
  - TrustPolicy
  - TrustPolicyType
  - UpdateTriggerPayloadType
  - Webhook
  - WebhookAction
  - WebhookListResult
  - WebhookStatus
  - ZoneRedundancy

rename-mapping:
  Action: ContainerRegistryIPRuleAction
  ActivationProperties: ConnectedRegistryActivation
  ActivationStatus: ConnectedRegistryActivationStatus
  Actor: ContainerRegistryWebhookEventActor
  ActionsRequired: ActionsRequiredForPrivateLinkServiceConsumer
  Architecture: ContainerRegistryOSArchitecture
  Argument: ContainerRegistryRunArgument
  AuditLogStatus: ConnectedRegistryAuditLogStatus
  AuthInfo: SourceCodeRepoAuthInfo
  AuthInfo.expiresIn: ExpireInSeconds
  AuthInfoUpdateParameters: SourceCodeRepoAuthInfoUpdateContent
  AzureADAuthenticationAsArmPolicyStatus: AadAuthenticationAsArmPolicyStatus
  BaseImageTriggerUpdateParameters: ContainerRegistryBaseImageTriggerUpdateContent
  CallbackConfig: ContainerRegistryWebhookCallbackConfig
  ConnectionState: ConnectedRegistryConnectionState
  ConnectionStatus: ContainerRegistryPrivateLinkServiceConnectionStatus
  ConnectedRegistry.properties.clientTokenIds: -|arm-id
  ConnectedRegistryUpdateParameters.properties.clientTokenIds: -|arm-id
  DefaultAction: ContainerRegistryNetworkRuleDefaultAction
  DockerBuildRequest: ContainerRegistryDockerBuildContent
  DockerBuildRequest.timeout: TimeoutInSeconds
  DockerBuildStepUpdateParameters: ContainerRegistryDockerBuildStepUpdateContent
  EncodedTaskRunRequest: ContainerRegistryEncodedTaskRunContent
  EncodedTaskRunRequest.timeout: TimeoutInSeconds
  EncodedTaskStepUpdateParameters: ContainerRegistryEncodedTaskStepUpdateContent
  EncryptionProperty: ContainerRegistryEncryption
  Event: ContainerRegistryWebhookEvent
  EventContent: ContainerRegistryWebhookEventContent
  EventContent.id: -|uuid
  EventInfo: ContainerRegistryWebhookEventInfo
  EventInfo.id: -|uuid
  EventListResult: ContainerRegistryWebhookEventListResult
  EventRequestMessage: ContainerRegistryWebhookEventRequestMessage
  EventResponseMessage: ContainerRegistryWebhookEventResponseMessage
  FileTaskRunRequest: ContainerRegistryFileTaskRunContent
  FileTaskRunRequest.timeout: TimeoutInSeconds
  FileTaskStepUpdateParameters: ContainerRegistryFileTaskStepUpdateContent
  GenerateCredentialsParameters: ContainerRegistryGenerateCredentialsContent
  ImageUpdateTrigger.id: -|uuid
  ImportSource.registryUri: RegistryAddress
  KeyVaultProperties.keyRotationEnabled: IsKeyRotationEnabled
  LogLevel: ConnectedRegistryLogLevel
  LoggingProperties: ConnectedRegistryLogging
  LoginServerProperties: ConnectedRegistryLoginServer
  NetworkRuleBypassOptions: ContainerRegistryNetworkRuleBypassOption
  OS: ContainerRegistryOS
  ParentProperties: ConnectedRegistryParent
  ParentProperties.id: -|arm-id
  PipelineRunRequest: ContainerRegistryPipelineRunContent
  PipelineRunResponse: ContainerRegistryPipelineRunResult
  PlatformUpdateParameters: ContainerRegistryPlatformUpdateContent
  RegenerateCredentialParameters: ContainerRegistryCredentialRegenerateContent
  Registry: ContainerRegistry
  RegistrySyncResult: ContainerRegistrySyncResult
  Registry.properties.adminUserEnabled: IsAdminUserEnabled
  Registry.properties.anonymousPullEnabled: IsAnonymousPullEnabled
  Registry.properties.dataEndpointEnabled: IsDataEndpointEnabled
  Registry.properties.networkRuleBypassAllowedForTasks: IsNetworkRuleBypassAllowedForTasks
  RegistryListCredentialsResult: ContainerRegistryListCredentialsResult
  RegistryListResult: ContainerRegistryListResult
  RegistryNameCheckRequest: ContainerRegistryNameAvailabilityContent
  RegistryNameStatus: ContainerRegistryNameAvailableResult
  RegistryNameStatus.nameAvailable: IsNameAvailable
  RegistryPassword: ContainerRegistryPassword
  RegistryUpdateParameters: ContainerRegistryPatch
  RegistryUpdateParameters.properties.adminUserEnabled: IsAdminUserEnabled
  RegistryUpdateParameters.properties.anonymousPullEnabled: IsAnonymousPullEnabled
  RegistryUpdateParameters.properties.dataEndpointEnabled: IsDataEndpointEnabled
  RegistryUpdateParameters.properties.networkRuleBypassAllowedForTasks: IsNetworkRuleBypassAllowedForTasks
  RegistryUsage: ContainerRegistryUsage
  RegistryUsageListResult: ContainerRegistryUsageListResult
  RegistryUsageUnit: ContainerRegistryUsageUnit
  Replication.properties.regionEndpointEnabled: IsRegionEndpointEnabled
  ReplicationUpdateParameters.properties.regionEndpointEnabled: IsRegionEndpointEnabled
  Request: ContainerRegistryWebhookEventRequestContent
  Request.id: -|uuid
  RoleAssignmentMode: ContainerRegistryRoleAssignmentMode
  Run.properties.createTime: CreatedOn
  RunRequest: ContainerRegistryRunContent
  ScopeMap.properties.type: ScopeMapType
  SetValue: ContainerRegistryTaskOverridableValue
  Source: ContainerRegistryWebhookEventSource
  SourceProperties: SourceCodeRepoProperties
  SourceTriggerDescriptor.id: -|uuid
  SourceTriggerUpdateParameters: ContainerRegistrySourceTriggerUpdateContent
  SourceUpdateParameters: SourceCodeRepoUpdateContent
  Status: ContainerRegistryResourceStatus
  StatusDetailProperties: ConnectedRegistryStatusDetail
  StatusDetailProperties.correlationId: -|uuid
  StatusDetailProperties.type: StatusDetailType
  StepType: ContainerRegistryTaskStepType
  SyncProperties: ConnectedRegistrySyncProperties
  SyncUpdateProperties: ConnectedRegistrySyncUpdateProperties
  Target: ContainerRegistryWebhookEventTarget
  Task.properties.timeout: TimeoutInSeconds
  TaskRunRequest: ContainerRegistryTaskRunContent
  TaskStepProperties.type: ContainerRegistryTaskStepType
  TaskStepUpdateParameters: ContainerRegistryTaskStepUpdateContent
  TaskUpdateParameters.properties.timeout: TimeoutInSeconds
  TimerTriggerUpdateParameters: ContainerRegistryTimerTriggerUpdateContent
  TlsCertificateProperties.location: CertificateLocation
  TokenCredentialsProperties: ContainerRegistryTokenCredentials
  TokenType: SourceCodeRepoAuthTokenType
  TokenUpdateParameters: ContainerRegistryTokenPatch
  TriggerUpdateParameters: ContainerRegistryTriggerUpdateContent
  Variant: ContainerRegistryCpuVariant

override-operation-name:
  Schedules_ScheduleRun: ScheduleRun
  Registries_CheckNameAvailability: CheckContainerRegistryNameAvailability
  Builds_GetBuildSourceUploadUrl: GetBuildSourceUploadUrl

directive:
  # these two renames of operation would make the xml doc incorrect, but currently this is required because now the same operation would contain multiple api-versions if we do not rename.
  - rename-operation:
      from: Registries_GetBuildSourceUploadUrl
      to: Builds_GetBuildSourceUploadUrl
  - rename-operation:
      from: Registries_ScheduleRun
      to: Schedules_ScheduleRun
  - from: swagger-document
    where: $.definitions
    transform: >
      $.IdentityProperties.properties.principalId.readOnly = true;
      $.IdentityProperties.properties.tenantId.readOnly = true;
      $.UserIdentityProperties.properties.principalId.readOnly = true;
      $.UserIdentityProperties.properties.clientId.readOnly = true;
  - from: containerregistry.json
    where: $.definitions
    transform: >
      $.LoginServerProperties.properties.tls = {
          "$ref": "#/definitions/TlsProperties",
          "description": "The TLS properties of the connected registry login server.",
          "readOnly": true
        };
      $.TlsProperties.properties.certificate = {
          "$ref": "#/definitions/TlsCertificateProperties",
          "description": "The certificate used to configure HTTPS for the login server.",
          "readOnly": true
        };
  - from: swagger-document
    where: $.definitions..expiry
    transform: >
      $['x-ms-client-name'] = 'ExpireOn';
  - from: types.json
    where: $.parameters.SubscriptionIdParameter.format
    transform: >
      return undefined;
  - from: swagger-document
    where: $.info
    transform: >
      $.title = 'ContainerRegistryManagementClient';