Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Make main branch buildable #664

Merged
merged 36 commits into from
Nov 10, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
e70cbbe
Generate manifest during CRT builder pre-build step
jbelkins Nov 2, 2022
3c88f48
Disable all but one CI run
jbelkins Nov 2, 2022
a8a1263
Fix json
jbelkins Nov 2, 2022
e86ac5a
Add .gitkeep in release/
jbelkins Nov 2, 2022
da26b34
Script cd's relative to its location
jbelkins Nov 2, 2022
7b396d4
Lock to smithy 1.26.0
jbelkins Nov 2, 2022
6381a28
Empty commit
jbelkins Nov 2, 2022
973fe59
Re-enable all CI jobs, remove path detection from CRT builder setup
jbelkins Nov 2, 2022
974248b
Remove protocol test logic from package script
jbelkins Nov 2, 2022
a9fcd79
Generate manifest for release, improve script
jbelkins Nov 2, 2022
8ab7ebe
Remove extras in script
jbelkins Nov 2, 2022
502e1a4
Merge remote-tracking branch 'origin/main' into jbe/crt_builder_with_…
jbelkins Nov 2, 2022
cfb09f9
Revert smithy version spec
jbelkins Nov 2, 2022
3afb4c9
Create release/ before running manifest script
jbelkins Nov 2, 2022
ce09c22
Delete release/ dir during pre-build
jbelkins Nov 2, 2022
9aac50e
Fix json
jbelkins Nov 2, 2022
cea0f90
Force release to use main branch
jbelkins Nov 2, 2022
91409e5
aws-sdk-swift release build artifacts
Nov 2, 2022
2e4b730
Revert "aws-sdk-swift release build artifacts"
jbelkins Nov 3, 2022
552fbc0
Revert "Force release to use main branch"
jbelkins Nov 3, 2022
f8eeaa9
Merge remote-tracking branch 'origin/main' into release/jbe_test_rele…
jbelkins Nov 3, 2022
1adf37b
Merge branch 'main' into jbe/crt_builder_with_dynamic_manifest
jbelkins Nov 3, 2022
a72c123
Add doc comments to script
jbelkins Nov 3, 2022
66c4f2f
Merge branch 'jbe/crt_builder_with_dynamic_manifest' of github.com:aw…
jbelkins Nov 3, 2022
af63225
Merge remote-tracking branch 'origin/main' into jbe/crt_builder_with_…
jbelkins Nov 7, 2022
9b9a2f0
kick off release 0.5.0
epau Nov 9, 2022
3a2b889
aws-sdk-swift release build artifacts
Nov 9, 2022
6d9101d
Merge branch 'main' into jbe/crt_builder_with_dynamic_manifest
jbelkins Nov 9, 2022
6981897
Update scripts/generatePackageSwift.swift
jbelkins Nov 9, 2022
344af7b
Add link to CRT builder script in script docs
jbelkins Nov 9, 2022
b6b7a77
Merge branch 'jbe/crt_builder_with_dynamic_manifest' of github.com:aw…
jbelkins Nov 9, 2022
4e533ec
Merge branch 'main' into jbe/crt_builder_with_dynamic_manifest
jbelkins Nov 9, 2022
b3b4065
Lock smithy-swift & aws-crt-swift to main branch when not releasing
jbelkins Nov 9, 2022
a40fd97
Rename versionDependencies to packageDependencies
jbelkins Nov 9, 2022
7caad0d
Merge tag '0.5.0' into jbe/crt_builder_with_dynamic_manifest
jbelkins Nov 9, 2022
e7b88da
sdk.properties configures codegen
jbelkins Nov 10, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
./gradlew -p codegen/sdk-codegen build
./gradlew -p codegen/sdk-codegen stageSdks
./scripts/mergeModels.sh release
./scripts/generatePackageSwift.swift > Package.swift
AWS_SDK_RELEASE_IN_PROGRESS=1 ./scripts/generatePackageSwift.swift > Package.swift
cat Package.swift
./gradlew --stop
swift build --build-tests
Expand Down
763 changes: 651 additions & 112 deletions Package.swift

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions builder.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
"variables": {
"gradlew": "{source_dir}/gradlew"
},
"pre_build_steps": [
"cd {source_dir} && rm -rf release",
"cd {source_dir} && ./scripts/setup_for_crt_builder.sh"
],
"build_steps": [
"{gradlew} -p {source_dir}/codegen/smithy-aws-swift-codegen build",
"{gradlew} -p {source_dir}/codegen/protocol-test-codegen build",
Expand Down
4 changes: 2 additions & 2 deletions codegen/sdk-codegen/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,14 @@ buildscript {

fun <T> java.util.Optional<T>.orNull(): T? = this.orElse(null)

// get a project property by name if it exists (including from local.properties)
// get a project property by name if it exists (including from sdk.properties)
fun getProperty(name: String): String? {
if (project.hasProperty(name)) {
return project.properties[name].toString()
}

val localProperties = Properties()
val propertiesFile: File = rootProject.file("local.properties")
val propertiesFile: File = rootProject.file("sdk.properties")
if (propertiesFile.exists()) {
propertiesFile.inputStream().use { localProperties.load(it) }
if (localProperties.containsKey(name)) {
Expand Down
4 changes: 4 additions & 0 deletions versionDependencies.plist → packageDependencies.plist
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,9 @@
<string>0.5.0</string>
<key>awsCRTSwiftVersion</key>
<string>0.3.1</string>
<key>clientRuntimeBranch</key>
<string>main</string>
<key>awsCRTSwiftBranch</key>
<string>main</string>
</dict>
</plist>
763 changes: 763 additions & 0 deletions release/AWSACM/ACMClient.swift

Large diffs are not rendered by default.

73 changes: 73 additions & 0 deletions release/AWSACM/ACMClientProtocol.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
// Code generated by smithy-swift-codegen. DO NOT EDIT!

import AWSClientRuntime
import ClientRuntime

/// Certificate Manager You can use Certificate Manager (ACM) to manage SSL/TLS certificates for your Amazon Web Services-based websites and applications. For more information about using ACM, see the [Certificate Manager User Guide](https://docs.aws.amazon.com/acm/latest/userguide/).
public protocol ACMClientProtocol {
/// Adds one or more tags to an ACM certificate. Tags are labels that you can use to identify and organize your Amazon Web Services resources. Each tag consists of a key and an optional value. You specify the certificate on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair. You can apply a tag to just one certificate if you want to identify a specific characteristic of that certificate, or you can apply the same tag to multiple certificates if you want to filter for a common relationship among those certificates. Similarly, you can apply the same tag to multiple resources if you want to specify a relationship among those resources. For example, you can add the same tag to an ACM certificate and an Elastic Load Balancing load balancer to indicate that they are both used by the same website. For more information, see [Tagging ACM certificates](https://docs.aws.amazon.com/acm/latest/userguide/tags.html). To remove one or more tags, use the [RemoveTagsFromCertificate] action. To view all of the tags that have been applied to the certificate, use the [ListTagsForCertificate] action.
func addTagsToCertificate(input: AddTagsToCertificateInput) async throws -> AddTagsToCertificateOutputResponse
/// Deletes a certificate and its associated private key. If this action succeeds, the certificate no longer appears in the list that can be displayed by calling the [ListCertificates] action or be retrieved by calling the [GetCertificate] action. The certificate will not be available for use by Amazon Web Services services integrated with ACM. You cannot delete an ACM certificate that is being used by another Amazon Web Services service. To delete a certificate that is in use, the certificate association must first be removed.
func deleteCertificate(input: DeleteCertificateInput) async throws -> DeleteCertificateOutputResponse
/// Returns detailed metadata about the specified ACM certificate. If you have just created a certificate using the RequestCertificate action, there is a delay of several seconds before you can retrieve information about it.
func describeCertificate(input: DescribeCertificateInput) async throws -> DescribeCertificateOutputResponse
/// Exports a private certificate issued by a private certificate authority (CA) for use anywhere. The exported file contains the certificate, the certificate chain, and the encrypted private 2048-bit RSA key associated with the public key that is embedded in the certificate. For security, you must assign a passphrase for the private key when exporting it. For information about exporting and formatting a certificate using the ACM console or CLI, see [Export a Private Certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-export-private.html).
func exportCertificate(input: ExportCertificateInput) async throws -> ExportCertificateOutputResponse
/// Returns the account configuration options associated with an Amazon Web Services account.
func getAccountConfiguration(input: GetAccountConfigurationInput) async throws -> GetAccountConfigurationOutputResponse
/// Retrieves an Amazon-issued certificate and its certificate chain. The chain consists of the certificate of the issuing CA and the intermediate certificates of any other subordinate CAs. All of the certificates are base64 encoded. You can use [OpenSSL](https://wiki.openssl.org/index.php/Command_Line_Utilities) to decode the certificates and inspect individual fields.
func getCertificate(input: GetCertificateInput) async throws -> GetCertificateOutputResponse
/// Imports a certificate into Certificate Manager (ACM) to use with services that are integrated with ACM. Note that [integrated services](https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html) allow only certificate types and keys they support to be associated with their resources. Further, their support differs depending on whether the certificate is imported into IAM or into ACM. For more information, see the documentation for each service. For more information about importing certificates into ACM, see [Importing Certificates](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the Certificate Manager User Guide. ACM does not provide [managed renewal](https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html) for certificates that you import. Note the following guidelines when importing third party certificates:
///
/// * You must enter the private key that matches the certificate you are importing.
///
/// * The private key must be unencrypted. You cannot import a private key that is protected by a password or a passphrase.
///
/// * The private key must be no larger than 5 KB (5,120 bytes).
///
/// * If the certificate you are importing is not self-signed, you must enter its certificate chain.
///
/// * If a certificate chain is included, the issuer must be the subject of one of the certificates in the chain.
///
/// * The certificate, private key, and certificate chain must be PEM-encoded.
///
/// * The current time must be between the Not Before and Not After certificate fields.
///
/// * The Issuer field must not be empty.
///
/// * The OCSP authority URL, if present, must not exceed 1000 characters.
///
/// * To import a new certificate, omit the CertificateArn argument. Include this argument only when you want to replace a previously imported certificate.
///
/// * When you import a certificate by using the CLI, you must specify the certificate, the certificate chain, and the private key by their file names preceded by fileb://. For example, you can specify a certificate saved in the C:\temp folder as fileb://C:\temp\certificate_to_import.pem. If you are making an HTTP or HTTPS Query request, include these arguments as BLOBs.
///
/// * When you import a certificate by using an SDK, you must specify the certificate, the certificate chain, and the private key files in the manner required by the programming language you're using.
///
/// * The cryptographic algorithm of an imported certificate must match the algorithm of the signing CA. For example, if the signing CA key type is RSA, then the certificate key type must also be RSA.
///
///
/// This operation returns the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the imported certificate.
func importCertificate(input: ImportCertificateInput) async throws -> ImportCertificateOutputResponse
/// Retrieves a list of certificate ARNs and domain names. You can request that only certificates that match a specific status be listed. You can also filter by specific attributes of the certificate. Default filtering returns only RSA_2048 certificates. For more information, see [Filters].
func listCertificates(input: ListCertificatesInput) async throws -> ListCertificatesOutputResponse
/// Lists the tags that have been applied to the ACM certificate. Use the certificate's Amazon Resource Name (ARN) to specify the certificate. To add a tag to an ACM certificate, use the [AddTagsToCertificate] action. To delete a tag, use the [RemoveTagsFromCertificate] action.
func listTagsForCertificate(input: ListTagsForCertificateInput) async throws -> ListTagsForCertificateOutputResponse
/// Adds or modifies account-level configurations in ACM. The supported configuration option is DaysBeforeExpiry. This option specifies the number of days prior to certificate expiration when ACM starts generating EventBridge events. ACM sends one event per day per certificate until the certificate expires. By default, accounts receive events starting 45 days before certificate expiration.
func putAccountConfiguration(input: PutAccountConfigurationInput) async throws -> PutAccountConfigurationOutputResponse
/// Remove one or more tags from an ACM certificate. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this function, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value. To add tags to a certificate, use the [AddTagsToCertificate] action. To view all of the tags that have been applied to a specific ACM certificate, use the [ListTagsForCertificate] action.
func removeTagsFromCertificate(input: RemoveTagsFromCertificateInput) async throws -> RemoveTagsFromCertificateOutputResponse
/// Renews an eligible ACM certificate. At this time, only exported private certificates can be renewed with this operation. In order to renew your Amazon Web Services Private CA certificates with ACM, you must first [grant the ACM service principal permission to do so](https://docs.aws.amazon.com/privateca/latest/userguide/PcaPermissions.html). For more information, see [Testing Managed Renewal](https://docs.aws.amazon.com/acm/latest/userguide/manual-renewal.html) in the ACM User Guide.
func renewCertificate(input: RenewCertificateInput) async throws -> RenewCertificateOutputResponse
/// Requests an ACM certificate for use with other Amazon Web Services services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter. If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use [DNS validation](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html) or [email validation](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html). We recommend that you use DNS validation. ACM issues public certificates after receiving approval from the domain owner. ACM behavior differs from the [RFC 6125](https://datatracker.ietf.org/doc/html/rfc6125#appendix-B.2) specification of the certificate validation process. ACM first checks for a Subject Alternative Name, and, if it finds one, ignores the common name (CN). After successful completion of the RequestCertificate action, there is a delay of several seconds before you can retrieve information about the new certificate.
func requestCertificate(input: RequestCertificateInput) async throws -> RequestCertificateOutputResponse
/// Resends the email that requests domain ownership validation. The domain owner or an authorized representative must approve the ACM certificate before it can be issued. The certificate can be approved by clicking a link in the mail to navigate to the Amazon certificate approval website and then clicking I Approve. However, the validation email can be blocked by spam filters. Therefore, if you do not receive the original mail, you can request that the mail be resent within 72 hours of requesting the ACM certificate. If more than 72 hours have elapsed since your original request or since your last attempt to resend validation mail, you must request a new certificate. For more information about setting up your contact email addresses, see [Configure Email for your Domain](https://docs.aws.amazon.com/acm/latest/userguide/setup-email.html).
func resendValidationEmail(input: ResendValidationEmailInput) async throws -> ResendValidationEmailOutputResponse
/// Updates a certificate. Currently, you can use this function to specify whether to opt in to or out of recording your certificate in a certificate transparency log. For more information, see [ Opting Out of Certificate Transparency Logging](https://docs.aws.amazon.com/acm/latest/userguide/acm-bestpractices.html#best-practices-transparency).
func updateCertificateOptions(input: UpdateCertificateOptionsInput) async throws -> UpdateCertificateOptionsOutputResponse
}

public protocol ACMClientConfigurationProtocol : AWSClientRuntime.AWSClientConfiguration {
var endpointResolver: EndpointResolver { get }
}

public enum ACMClientTypes {}
Loading