-
Notifications
You must be signed in to change notification settings - Fork 242
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add ACS-controller schemas (#187)
- Loading branch information
hadar-co
authored
Jul 4, 2023
1 parent
a5b39fe
commit b35fe4f
Showing
120 changed files
with
33,818 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,206 @@ | ||
{ | ||
"description": "API is the Schema for the APIS API", | ||
"properties": { | ||
"apiVersion": { | ||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", | ||
"type": "string" | ||
}, | ||
"kind": { | ||
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", | ||
"type": "string" | ||
}, | ||
"metadata": { | ||
"type": "object" | ||
}, | ||
"spec": { | ||
"description": "ApiSpec defines the desired state of Api. \n Represents an API.", | ||
"properties": { | ||
"apiKeySelectionExpression": { | ||
"type": "string" | ||
}, | ||
"basepath": { | ||
"type": "string" | ||
}, | ||
"body": { | ||
"type": "string" | ||
}, | ||
"corsConfiguration": { | ||
"description": "Represents a CORS configuration. Supported only for HTTP APIs. See Configuring CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) for more information.", | ||
"properties": { | ||
"allowCredentials": { | ||
"type": "boolean" | ||
}, | ||
"allowHeaders": { | ||
"description": "Represents a collection of allowed headers. Supported only for HTTP APIs.", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
}, | ||
"allowMethods": { | ||
"description": "Represents a collection of methods. Supported only for HTTP APIs.", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
}, | ||
"allowOrigins": { | ||
"description": "Represents a collection of origins. Supported only for HTTP APIs.", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
}, | ||
"exposeHeaders": { | ||
"description": "Represents a collection of allowed headers. Supported only for HTTP APIs.", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
}, | ||
"maxAge": { | ||
"description": "An integer with a value between -1 and 86400. Supported only for HTTP APIs.", | ||
"format": "int64", | ||
"type": "integer" | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"credentialsARN": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"disableExecuteAPIEndpoint": { | ||
"type": "boolean" | ||
}, | ||
"disableSchemaValidation": { | ||
"type": "boolean" | ||
}, | ||
"failOnWarnings": { | ||
"type": "boolean" | ||
}, | ||
"name": { | ||
"type": "string" | ||
}, | ||
"protocolType": { | ||
"type": "string" | ||
}, | ||
"routeKey": { | ||
"type": "string" | ||
}, | ||
"routeSelectionExpression": { | ||
"type": "string" | ||
}, | ||
"tags": { | ||
"additionalProperties": { | ||
"type": "string" | ||
}, | ||
"type": "object" | ||
}, | ||
"target": { | ||
"type": "string" | ||
}, | ||
"version": { | ||
"type": "string" | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"status": { | ||
"description": "APIStatus defines the observed state of API", | ||
"properties": { | ||
"ackResourceMetadata": { | ||
"description": "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource", | ||
"properties": { | ||
"arn": { | ||
"description": "ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an \"adopted\" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270", | ||
"type": "string" | ||
}, | ||
"ownerAccountID": { | ||
"description": "OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource.", | ||
"type": "string" | ||
}, | ||
"region": { | ||
"description": "Region is the AWS region in which the resource exists or will exist.", | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"ownerAccountID", | ||
"region" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"apiEndpoint": { | ||
"type": "string" | ||
}, | ||
"apiGatewayManaged": { | ||
"type": "boolean" | ||
}, | ||
"apiID": { | ||
"type": "string" | ||
}, | ||
"conditions": { | ||
"description": "All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource", | ||
"items": { | ||
"description": "Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource", | ||
"properties": { | ||
"lastTransitionTime": { | ||
"description": "Last time the condition transitioned from one status to another.", | ||
"format": "date-time", | ||
"type": "string" | ||
}, | ||
"message": { | ||
"description": "A human readable message indicating details about the transition.", | ||
"type": "string" | ||
}, | ||
"reason": { | ||
"description": "The reason for the condition's last transition.", | ||
"type": "string" | ||
}, | ||
"status": { | ||
"description": "Status of the condition, one of True, False, Unknown.", | ||
"type": "string" | ||
}, | ||
"type": { | ||
"description": "Type is the type of the Condition", | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"status", | ||
"type" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"type": "array" | ||
}, | ||
"createdDate": { | ||
"format": "date-time", | ||
"type": "string" | ||
}, | ||
"importInfo": { | ||
"items": { | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
}, | ||
"warnings": { | ||
"items": { | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"type": "object" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,166 @@ | ||
{ | ||
"description": "Authorizer is the Schema for the Authorizers API", | ||
"properties": { | ||
"apiVersion": { | ||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", | ||
"type": "string" | ||
}, | ||
"kind": { | ||
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", | ||
"type": "string" | ||
}, | ||
"metadata": { | ||
"type": "object" | ||
}, | ||
"spec": { | ||
"description": "AuthorizerSpec defines the desired state of Authorizer. \n Represents an authorizer.", | ||
"properties": { | ||
"apiID": { | ||
"type": "string" | ||
}, | ||
"apiRef": { | ||
"description": "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api", | ||
"properties": { | ||
"from": { | ||
"description": "AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name)", | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"authorizerCredentialsARN": { | ||
"type": "string" | ||
}, | ||
"authorizerPayloadFormatVersion": { | ||
"type": "string" | ||
}, | ||
"authorizerResultTtlInSeconds": { | ||
"format": "int64", | ||
"type": "integer" | ||
}, | ||
"authorizerType": { | ||
"type": "string" | ||
}, | ||
"authorizerURI": { | ||
"type": "string" | ||
}, | ||
"enableSimpleResponses": { | ||
"type": "boolean" | ||
}, | ||
"identitySource": { | ||
"items": { | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
}, | ||
"identityValidationExpression": { | ||
"type": "string" | ||
}, | ||
"jwtConfiguration": { | ||
"description": "Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.", | ||
"properties": { | ||
"audience": { | ||
"items": { | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
}, | ||
"issuer": { | ||
"description": "A string representation of a URI with a length between [1-2048].", | ||
"type": "string" | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"name": { | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"authorizerType", | ||
"identitySource", | ||
"name" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"status": { | ||
"description": "AuthorizerStatus defines the observed state of Authorizer", | ||
"properties": { | ||
"ackResourceMetadata": { | ||
"description": "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource", | ||
"properties": { | ||
"arn": { | ||
"description": "ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an \"adopted\" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270", | ||
"type": "string" | ||
}, | ||
"ownerAccountID": { | ||
"description": "OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource.", | ||
"type": "string" | ||
}, | ||
"region": { | ||
"description": "Region is the AWS region in which the resource exists or will exist.", | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"ownerAccountID", | ||
"region" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"authorizerID": { | ||
"type": "string" | ||
}, | ||
"conditions": { | ||
"description": "All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource", | ||
"items": { | ||
"description": "Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource", | ||
"properties": { | ||
"lastTransitionTime": { | ||
"description": "Last time the condition transitioned from one status to another.", | ||
"format": "date-time", | ||
"type": "string" | ||
}, | ||
"message": { | ||
"description": "A human readable message indicating details about the transition.", | ||
"type": "string" | ||
}, | ||
"reason": { | ||
"description": "The reason for the condition's last transition.", | ||
"type": "string" | ||
}, | ||
"status": { | ||
"description": "Status of the condition, one of True, False, Unknown.", | ||
"type": "string" | ||
}, | ||
"type": { | ||
"description": "Type is the type of the Condition", | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"status", | ||
"type" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"type": "array" | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"type": "object" | ||
} |
Oops, something went wrong.