diff --git a/lib/grpc/drivers_pb.rb b/lib/grpc/drivers_pb.rb index 0a93214..4b5d8cc 100644 --- a/lib/grpc/drivers_pb.rb +++ b/lib/grpc/drivers_pb.rb @@ -40,6 +40,7 @@ optional :amazon_es, :message, 600, "v1.AmazonES" optional :amazon_mqamqp_091, :message, 2501, "v1.AmazonMQAMQP091" optional :athena, :message, 100, "v1.Athena" + optional :athena_iam, :message, 3400, "v1.AthenaIAM" optional :aurora_mysql, :message, 1101, "v1.AuroraMysql" optional :aurora_mysql_iam, :message, 1109, "v1.AuroraMysqlIAM" optional :aurora_postgres, :message, 1301, "v1.AuroraPostgres" @@ -432,6 +433,22 @@ optional :role_external_id, :string, 7 optional :secret_access_key, :string, 2 end + add_message "v1.AthenaIAM" do + optional :id, :string, 32768 + optional :name, :string, 32769 + optional :healthy, :bool, 32770 + optional :tags, :message, 32771, "v1.Tags" + optional :secret_store_id, :string, 32772 + optional :egress_filter, :string, 32773 + optional :bind_interface, :string, 32774 + optional :proxy_cluster_id, :string, 32776 + optional :subdomain, :string, 32775 + optional :output, :string, 1 + optional :port_override, :int32, 2 + optional :region, :string, 3 + optional :role_arn, :string, 4 + optional :role_external_id, :string, 5 + end add_message "v1.AuroraMysql" do optional :id, :string, 32768 optional :name, :string, 32769 @@ -1875,6 +1892,7 @@ module V1 AmazonES = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AmazonES").msgclass AmazonMQAMQP091 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AmazonMQAMQP091").msgclass Athena = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Athena").msgclass + AthenaIAM = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AthenaIAM").msgclass AuroraMysql = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AuroraMysql").msgclass AuroraMysqlIAM = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AuroraMysqlIAM").msgclass AuroraPostgres = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AuroraPostgres").msgclass diff --git a/lib/grpc/plumbing.rb b/lib/grpc/plumbing.rb index c62656b..c4888e7 100644 --- a/lib/grpc/plumbing.rb +++ b/lib/grpc/plumbing.rb @@ -3290,6 +3290,66 @@ def self.convert_repeated_athena_to_porcelain(plumbings) end items end + def self.convert_athena_iam_to_porcelain(plumbing) + if plumbing == nil + return nil + end + porcelain = AthenaIAM.new() + porcelain.bind_interface = (plumbing.bind_interface) + porcelain.egress_filter = (plumbing.egress_filter) + porcelain.healthy = (plumbing.healthy) + porcelain.id = (plumbing.id) + porcelain.name = (plumbing.name) + porcelain.output = (plumbing.output) + porcelain.port_override = (plumbing.port_override) + porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id) + porcelain.region = (plumbing.region) + porcelain.role_arn = (plumbing.role_arn) + porcelain.role_external_id = (plumbing.role_external_id) + porcelain.secret_store_id = (plumbing.secret_store_id) + porcelain.subdomain = (plumbing.subdomain) + porcelain.tags = convert_tags_to_porcelain(plumbing.tags) + porcelain + end + + def self.convert_athena_iam_to_plumbing(porcelain) + if porcelain == nil + return nil + end + plumbing = V1::AthenaIAM.new() + plumbing.bind_interface = (porcelain.bind_interface) + plumbing.egress_filter = (porcelain.egress_filter) + plumbing.healthy = (porcelain.healthy) + plumbing.id = (porcelain.id) + plumbing.name = (porcelain.name) + plumbing.output = (porcelain.output) + plumbing.port_override = (porcelain.port_override) + plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id) + plumbing.region = (porcelain.region) + plumbing.role_arn = (porcelain.role_arn) + plumbing.role_external_id = (porcelain.role_external_id) + plumbing.secret_store_id = (porcelain.secret_store_id) + plumbing.subdomain = (porcelain.subdomain) + plumbing.tags = convert_tags_to_plumbing(porcelain.tags) + plumbing + end + def self.convert_repeated_athena_iam_to_plumbing(porcelains) + items = Array.new + porcelains.each do |porcelain| + plumbing = convert_athena_iam_to_plumbing(porcelain) + items.append(plumbing) + end + items + end + + def self.convert_repeated_athena_iam_to_porcelain(plumbings) + items = Array.new + plumbings.each do |plumbing| + porcelain = convert_athena_iam_to_porcelain(plumbing) + items.append(porcelain) + end + items + end def self.convert_aurora_mysql_to_porcelain(plumbing) if plumbing == nil return nil @@ -10910,6 +10970,9 @@ def self.convert_resource_to_plumbing(porcelain) if porcelain.instance_of? Athena plumbing.athena = convert_athena_to_plumbing(porcelain) end + if porcelain.instance_of? AthenaIAM + plumbing.athena_iam = convert_athena_iam_to_plumbing(porcelain) + end if porcelain.instance_of? AuroraMysql plumbing.aurora_mysql = convert_aurora_mysql_to_plumbing(porcelain) end @@ -11205,6 +11268,9 @@ def self.convert_resource_to_porcelain(plumbing) if plumbing.athena != nil return convert_athena_to_porcelain(plumbing.athena) end + if plumbing.athena_iam != nil + return convert_athena_iam_to_porcelain(plumbing.athena_iam) + end if plumbing.aurora_mysql != nil return convert_aurora_mysql_to_porcelain(plumbing.aurora_mysql) end diff --git a/lib/models/porcelain.rb b/lib/models/porcelain.rb index 58d2320..07664d6 100644 --- a/lib/models/porcelain.rb +++ b/lib/models/porcelain.rb @@ -2980,6 +2980,78 @@ def to_json(options = {}) end end + # AthenaIAM is currently unstable, and its API may change, or it may be removed, without a major version bump. + class AthenaIAM + # The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided. + attr_accessor :bind_interface + # A filter applied to the routing logic to pin datasource to nodes. + attr_accessor :egress_filter + # True if the datasource is reachable and the credentials are valid. + attr_accessor :healthy + # Unique identifier of the Resource. + attr_accessor :id + # Unique human-readable name of the Resource. + attr_accessor :name + # The AWS S3 output location. + attr_accessor :output + # The local port used by clients to connect to this resource. + attr_accessor :port_override + # ID of the proxy cluster for this resource, if any. + attr_accessor :proxy_cluster_id + # The AWS region to connect to e.g. us-east-1. + attr_accessor :region + # The role to assume after logging in. + attr_accessor :role_arn + # The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. + attr_accessor :role_external_id + # ID of the secret store containing credentials for this resource, if any. + attr_accessor :secret_store_id + # Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network) + attr_accessor :subdomain + # Tags is a map of key, value pairs. + attr_accessor :tags + + def initialize( + bind_interface: nil, + egress_filter: nil, + healthy: nil, + id: nil, + name: nil, + output: nil, + port_override: nil, + proxy_cluster_id: nil, + region: nil, + role_arn: nil, + role_external_id: nil, + secret_store_id: nil, + subdomain: nil, + tags: nil + ) + @bind_interface = bind_interface == nil ? "" : bind_interface + @egress_filter = egress_filter == nil ? "" : egress_filter + @healthy = healthy == nil ? false : healthy + @id = id == nil ? "" : id + @name = name == nil ? "" : name + @output = output == nil ? "" : output + @port_override = port_override == nil ? 0 : port_override + @proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id + @region = region == nil ? "" : region + @role_arn = role_arn == nil ? "" : role_arn + @role_external_id = role_external_id == nil ? "" : role_external_id + @secret_store_id = secret_store_id == nil ? "" : secret_store_id + @subdomain = subdomain == nil ? "" : subdomain + @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags + end + + def to_json(options = {}) + hash = {} + self.instance_variables.each do |var| + hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var + end + hash.to_json + end + end + class AuroraMysql # The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided. attr_accessor :bind_interface @@ -3063,7 +3135,6 @@ def to_json(options = {}) end end - # AuroraMysqlIAM is currently unstable, and its API may change, or it may be removed, without a major version bump. class AuroraMysqlIAM # The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided. attr_accessor :bind_interface diff --git a/lib/strongdm.rb b/lib/strongdm.rb index 233292c..9f9c4f7 100644 --- a/lib/strongdm.rb +++ b/lib/strongdm.rb @@ -29,7 +29,7 @@ class Client DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds API_VERSION = "2024-03-28" - USER_AGENT = "strongdm-sdk-ruby/12.6.0" + USER_AGENT = "strongdm-sdk-ruby/12.8.0" private_constant :DEFAULT_MAX_RETRIES, :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :API_VERSION, :USER_AGENT # Creates a new strongDM API client. diff --git a/lib/svc.rb b/lib/svc.rb index 570f83a..fa317f3 100644 --- a/lib/svc.rb +++ b/lib/svc.rb @@ -4644,6 +4644,7 @@ def list( # {AmazonES} # {AmazonMQAMQP091} # {Athena} + # {AthenaIAM} # {AuroraMysql} # {AuroraMysqlIAM} # {AuroraPostgres} diff --git a/lib/version b/lib/version index 5c3d204..b7af321 100644 --- a/lib/version +++ b/lib/version @@ -13,5 +13,5 @@ # limitations under the License. # module SDM - VERSION = "12.6.0" + VERSION = "12.8.0" end diff --git a/lib/version.rb b/lib/version.rb index 5c3d204..b7af321 100644 --- a/lib/version.rb +++ b/lib/version.rb @@ -13,5 +13,5 @@ # limitations under the License. # module SDM - VERSION = "12.6.0" + VERSION = "12.8.0" end