swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector Flux API schemes: - https tags: - name: Flux paths: ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName} : get: tags: - Flux description: Gets details of the Flux Configuration. operationId: microsoftAzureFluxconfigurationsGet x-ms-examples: Get Flux Configuration: $ref: ./examples/GetFluxConfiguration.json parameters: - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter - $ref: '#/parameters/FluxConfigurationNameParameter' - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter responses: '200': description: OK schema: $ref: '#/definitions/FluxConfiguration' default: description: Error response describing why the operation failed. schema: $ref: ../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse summary: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Clusterrp Clusterresourcename Clustername Providers Microsoft Kubernetesconfiguration Fluxconfigurations Fluxconfigurationname put: tags: - Flux description: Create a new Kubernetes Flux Configuration. operationId: microsoftAzureFluxconfigurationsCreateorupdate x-ms-examples: Create Flux Configuration: $ref: ./examples/CreateFluxConfiguration.json Create Flux Configuration with Bucket Source Kind: $ref: ./examples/CreateFluxConfigurationWithBucket.json parameters: - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter - $ref: '#/parameters/FluxConfigurationNameParameter' - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter - name: fluxConfiguration in: body required: true schema: $ref: '#/definitions/FluxConfiguration' description: Properties necessary to Create a FluxConfiguration. responses: '200': description: Request received successfully for an existing resource. schema: $ref: '#/definitions/FluxConfiguration' '201': description: Request received successfully. schema: $ref: '#/definitions/FluxConfiguration' default: description: Error response describing why the operation failed. schema: $ref: ../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse x-ms-long-running-operation: true x-ms-long-running-operation-options: final-state-via: azure-async-operation summary: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Clusterrp Clusterresourcename Clustername Providers Microsoft Kubernetesconfiguration Fluxconfigurations Fluxconfigurationname patch: tags: - Flux description: Update an existing Kubernetes Flux Configuration. operationId: microsoftAzureFluxconfigurationsUpdate x-ms-examples: Patch Flux Configuration: $ref: ./examples/PatchFluxConfiguration.json parameters: - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter - $ref: '#/parameters/FluxConfigurationNameParameter' - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter - name: fluxConfigurationPatch in: body required: true schema: $ref: '#/definitions/FluxConfigurationPatch' description: Properties to Patch in an existing Flux Configuration. responses: '202': description: Request received successfully, and the resource will be updated asynchronously. schema: $ref: '#/definitions/FluxConfiguration' default: description: Error response describing why the operation failed. schema: $ref: ../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse x-ms-long-running-operation: true x-ms-long-running-operation-options: final-state-via: azure-async-operation summary: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Clusterrp Clusterresourcename Clustername Providers Microsoft Kubernetesconfiguration Fluxconfigurations Fluxconfigurationname delete: tags: - Flux description: This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source repo. operationId: microsoftAzureFluxconfigurationsDelete x-ms-examples: Delete Flux Configuration: $ref: ./examples/DeleteFluxConfiguration.json parameters: - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter - $ref: '#/parameters/FluxConfigurationNameParameter' - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter - name: forceDelete in: query description: Delete the extension resource in Azure - not the normal asynchronous delete. type: boolean responses: '200': description: OK. The request has been completed successfully. '202': description: Accepted. The request has been accepted for processing. '204': description: No Content. The request has been accepted but the configuration was not found. default: description: Error response describing why the operation failed. schema: $ref: ../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse x-ms-long-running-operation: true x-ms-long-running-operation-options: final-state-via: azure-async-operation summary: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Clusterrp Clusterresourcename Clustername Providers Microsoft Kubernetesconfiguration Fluxconfigurations Fluxconfigurationname ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations : get: tags: - Flux description: List all Flux Configurations. operationId: microsoftAzureFluxconfigurationsList x-ms-examples: List Flux Configuration: $ref: ./examples/ListFluxConfigurations.json parameters: - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter - $ref: ../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter - $ref: ../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter responses: '200': description: OK schema: $ref: '#/definitions/FluxConfigurationsList' default: description: Error response describing why the operation failed. schema: $ref: ../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse x-ms-pageable: nextLinkName: nextLink summary: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Clusterrp Clusterresourcename Clustername Providers Microsoft Kubernetesconfiguration Fluxconfigurations definitions: KustomizationPatchDefinition: description: The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. type: object x-nullable: true properties: path: description: The path in the source reference to reconcile on the cluster. type: string x-nullable: true dependsOn: description: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation. type: array items: type: object $ref: '#/definitions/DependsOnDefinition' x-nullable: true timeoutInSeconds: description: The maximum time to attempt to reconcile the Kustomization on the cluster. type: integer format: int64 x-nullable: true syncIntervalInSeconds: description: The interval at which to re-reconcile the Kustomization on the cluster. type: integer format: int64 x-nullable: true retryIntervalInSeconds: description: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation. type: integer format: int64 x-nullable: true prune: description: Enable/disable garbage collections of Kubernetes objects created by this Kustomization. type: boolean x-nullable: true force: description: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change. type: boolean x-nullable: true FluxConfigurationsList: description: Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results. type: object properties: value: type: array readOnly: true items: $ref: '#/definitions/FluxConfiguration' description: List of Flux Configurations within a Kubernetes cluster. nextLink: type: string readOnly: true description: URL to get the next set of configuration objects, if any. ScopeDefinition: description: Scope at which the configuration will be installed. type: string enum: - cluster - namespace default: cluster x-ms-enum: name: ScopeType modelAsString: true GitRepositoryPatchDefinition: description: Parameters to reconcile to the GitRepository source kind type. type: object x-nullable: true properties: url: description: The URL to sync for the flux configuration git repository. type: string x-nullable: true timeoutInSeconds: description: The maximum time to attempt to reconcile the cluster git repository source with the remote. type: integer format: int64 x-nullable: true syncIntervalInSeconds: description: The interval at which to re-reconcile the cluster git repository source with the remote. type: integer format: int64 x-nullable: true repositoryRef: description: The source reference for the GitRepository object. $ref: '#/definitions/RepositoryRefDefinition' sshKnownHosts: description: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH type: string x-nullable: true httpsUser: description: Plaintext HTTPS username used to access private git repositories over HTTPS type: string x-nullable: true httpsCACert: description: Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS type: string x-nullable: true localAuthRef: description: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. type: string x-nullable: true RepositoryRefDefinition: description: The source reference for the GitRepository object. type: object x-nullable: true properties: branch: description: The git repository branch name to checkout. type: string x-nullable: true tag: description: The git repository tag name to checkout. This takes precedence over branch. type: string x-nullable: true semver: description: The semver range used to match against git repository tags. This takes precedence over tag. type: string x-nullable: true commit: description: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver. type: string x-nullable: true GitRepositoryDefinition: description: Parameters to reconcile to the GitRepository source kind type. type: object x-nullable: true properties: url: description: The URL to sync for the flux configuration git repository. type: string x-nullable: true timeoutInSeconds: description: The maximum time to attempt to reconcile the cluster git repository source with the remote. type: integer format: int64 default: 600 x-nullable: true syncIntervalInSeconds: description: The interval at which to re-reconcile the cluster git repository source with the remote. type: integer format: int64 default: 600 x-nullable: true repositoryRef: description: The source reference for the GitRepository object. $ref: '#/definitions/RepositoryRefDefinition' sshKnownHosts: description: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH type: string x-nullable: true httpsUser: description: Plaintext HTTPS username used to access private git repositories over HTTPS type: string x-nullable: true httpsCACert: description: Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS type: string x-nullable: true localAuthRef: description: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. type: string x-nullable: true SourceKindDefinition: description: Source Kind to pull the configuration data from. type: string enum: - GitRepository - Bucket x-ms-enum: name: SourceKindType modelAsString: true ObjectStatusDefinition: description: Statuses of objects deployed by the user-specified kustomizations from the git repository. type: object x-nullable: true properties: name: description: Name of the applied object type: string namespace: description: Namespace of the applied object type: string kind: description: Kind of the applied object type: string complianceState: description: Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster. type: string $ref: '#/definitions/FluxComplianceStateDefinition' appliedBy: description: Object reference to the Kustomization that applied this object type: object $ref: '#/definitions/ObjectReferenceDefinition' x-nullable: true statusConditions: description: List of Kubernetes object status conditions present on the cluster type: array items: type: object $ref: '#/definitions/ObjectStatusConditionDefinition' x-nullable: true helmReleaseProperties: description: Additional properties that are provided from objects of the HelmRelease kind type: object $ref: '#/definitions/HelmReleasePropertiesDefinition' x-nullable: true ObjectStatusConditionDefinition: description: Status condition of Kubernetes object type: object properties: lastTransitionTime: description: Last time this status condition has changed type: string format: date-time message: description: A more verbose description of the object status condition type: string reason: description: Reason for the specified status condition type status type: string status: description: Status of the Kubernetes object condition type type: string type: description: Object status condition type for this object type: string FluxConfigurationPatch: description: The Flux Configuration Patch Request object. type: object properties: properties: type: object x-ms-client-flatten: true description: Updatable properties of an Flux Configuration Patch Request properties: sourceKind: description: Source Kind to pull the configuration data from. $ref: '#/definitions/SourceKindDefinition' x-nullable: true suspend: description: Whether this configuration should suspend its reconciliation of its kustomizations and sources. type: boolean x-nullable: true gitRepository: description: Parameters to reconcile to the GitRepository source kind type. type: object $ref: '#/definitions/GitRepositoryPatchDefinition' bucket: description: Parameters to reconcile to the Bucket source kind type. type: object $ref: '#/definitions/BucketDefinition' kustomizations: description: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster. type: object x-nullable: true additionalProperties: type: object $ref: '#/definitions/KustomizationPatchDefinition' configurationProtectedSettings: description: Key-value pairs of protected configuration settings for the configuration type: object x-nullable: true x-ms-secret: true additionalProperties: type: string BucketDefinition: description: Parameters to reconcile to the GitRepository source kind type. type: object x-nullable: true properties: url: description: The URL to sync for the flux configuration S3 bucket. type: string bucketName: description: The bucket name to sync from the url endpoint for the flux configuration. type: string insecure: description: Specify whether to use insecure communication when puling data from the S3 bucket. type: boolean default: true timeoutInSeconds: description: The maximum time to attempt to reconcile the cluster git repository source with the remote. type: integer format: int64 default: 600 x-nullable: true syncIntervalInSeconds: description: The interval at which to re-reconcile the cluster git repository source with the remote. type: integer format: int64 default: 600 x-nullable: true accessKey: description: Plaintext access key used to securely access the S3 bucket type: string x-nullable: true localAuthRef: description: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. type: string x-nullable: true KustomizationDefinition: description: The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. type: object x-nullable: true properties: path: description: The path in the source reference to reconcile on the cluster. type: string default: '' dependsOn: description: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation. type: array items: type: object $ref: '#/definitions/DependsOnDefinition' x-nullable: true timeoutInSeconds: description: The maximum time to attempt to reconcile the Kustomization on the cluster. type: integer format: int64 default: 600 x-nullable: true syncIntervalInSeconds: description: The interval at which to re-reconcile the Kustomization on the cluster. type: integer format: int64 default: 600 x-nullable: true retryIntervalInSeconds: description: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation. type: integer format: int64 x-nullable: true prune: description: Enable/disable garbage collections of Kubernetes objects created by this Kustomization. type: boolean default: false force: description: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change. type: boolean default: false HelmReleasePropertiesDefinition: type: object x-nullable: true properties: lastRevisionApplied: description: The revision number of the last released object change type: integer format: int64 x-nullable: true helmChartRef: description: The reference to the HelmChart object used as the source to this HelmRelease type: object $ref: '#/definitions/ObjectReferenceDefinition' failureCount: description: Total number of times that the HelmRelease failed to install or upgrade type: integer format: int64 x-nullable: true installFailureCount: description: Number of times that the HelmRelease failed to install type: integer format: int64 x-nullable: true upgradeFailureCount: description: Number of times that the HelmRelease failed to upgrade type: integer format: int64 x-nullable: true DependsOnDefinition: description: Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization type: object properties: kustomizationName: description: Name of the kustomization to claim dependency on type: string ObjectReferenceDefinition: description: Object reference to a Kubernetes object on a cluster type: object x-nullable: true properties: name: description: Name of the object type: string namespace: description: Namespace of the object type: string FluxComplianceStateDefinition: description: Compliance state of the cluster object. type: string enum: - Compliant - Non-Compliant - Pending - Suspended - Unknown default: Unknown x-ms-enum: name: FluxComplianceState modelAsString: true FluxConfiguration: type: object description: The Flux Configuration object returned in Get & Put response. properties: properties: type: object x-ms-client-flatten: true description: Properties to create a Flux Configuration resource properties: scope: description: Scope at which the operator will be installed. $ref: '#/definitions/ScopeDefinition' namespace: description: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. type: string default: default sourceKind: description: Source Kind to pull the configuration data from. $ref: '#/definitions/SourceKindDefinition' default: GitRepository suspend: description: Whether this configuration should suspend its reconciliation of its kustomizations and sources. type: boolean default: false gitRepository: description: Parameters to reconcile to the GitRepository source kind type. type: object $ref: '#/definitions/GitRepositoryDefinition' bucket: description: Parameters to reconcile to the Bucket source kind type. type: object $ref: '#/definitions/BucketDefinition' kustomizations: description: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster. type: object x-nullable: true additionalProperties: type: object $ref: '#/definitions/KustomizationDefinition' configurationProtectedSettings: description: Key-value pairs of protected configuration settings for the configuration type: object x-nullable: true x-ms-secret: true additionalProperties: type: string statuses: description: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects provisioned by the fluxConfiguration. type: array readOnly: true x-nullable: true items: type: object $ref: '#/definitions/ObjectStatusDefinition' repositoryPublicKey: description: Public Key associated with this fluxConfiguration (either generated within the cluster or provided by the user). type: string x-nullable: true readOnly: true lastSourceUpdatedCommitId: description: Branch and SHA of the last source commit synced with the cluster. type: string x-nullable: true readOnly: true lastSourceUpdatedAt: description: Datetime the fluxConfiguration last synced its source on the cluster. type: string format: date-time x-nullable: true readOnly: true complianceState: description: Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects. type: string readOnly: true $ref: '#/definitions/FluxComplianceStateDefinition' provisioningState: description: Status of the creation of the fluxConfiguration. type: string readOnly: true $ref: ../../common/2022-01-01-preview/definitions.json#/definitions/ProvisioningStateDefinition errorMessage: description: Error message returned to the user in the case of provisioning failure. type: string x-nullable: true readOnly: true systemData: description: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources $ref: ../../../../../common-types/resource-management/v2/types.json#/definitions/systemData allOf: - $ref: ../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource parameters: FluxConfigurationNameParameter: name: fluxConfigurationName in: path description: Name of the Flux Configuration. required: true type: string x-ms-parameter-location: method x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/parameters/Endpoint'