strongdm 15.14.0 → 15.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1550,6 +1550,246 @@ module SDM
1550
1550
  end
1551
1551
  end
1552
1552
 
1553
+ # An AccountGroup is a link between an Account and a Group.
1554
+ class AccountGroup
1555
+ # Unique identifier of the Account.
1556
+ attr_accessor :account_id
1557
+ # Unique identifier of the Group.
1558
+ attr_accessor :group_id
1559
+ # Unique identifier of the AccountGroup.
1560
+ attr_accessor :id
1561
+
1562
+ def initialize(
1563
+ account_id: nil,
1564
+ group_id: nil,
1565
+ id: nil
1566
+ )
1567
+ @account_id = account_id == nil ? "" : account_id
1568
+ @group_id = group_id == nil ? "" : group_id
1569
+ @id = id == nil ? "" : id
1570
+ end
1571
+
1572
+ def to_json(options = {})
1573
+ hash = {}
1574
+ self.instance_variables.each do |var|
1575
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
1576
+ end
1577
+ hash.to_json
1578
+ end
1579
+ end
1580
+
1581
+ # AccountGroupCreateRequest specifies an AccountGroup to create.
1582
+ class AccountGroupCreateRequest
1583
+ # Parameters to define the new AccountGroup.
1584
+ attr_accessor :account_group
1585
+
1586
+ def initialize(
1587
+ account_group: nil
1588
+ )
1589
+ @account_group = account_group == nil ? nil : account_group
1590
+ end
1591
+
1592
+ def to_json(options = {})
1593
+ hash = {}
1594
+ self.instance_variables.each do |var|
1595
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
1596
+ end
1597
+ hash.to_json
1598
+ end
1599
+ end
1600
+
1601
+ # AccountGroupCreateResponse reports the result of a create.
1602
+ class AccountGroupCreateResponse
1603
+ # The created AccountGroup.
1604
+ attr_accessor :account_group
1605
+ # Rate limit information.
1606
+ attr_accessor :rate_limit
1607
+
1608
+ def initialize(
1609
+ account_group: nil,
1610
+ rate_limit: nil
1611
+ )
1612
+ @account_group = account_group == nil ? nil : account_group
1613
+ @rate_limit = rate_limit == nil ? nil : rate_limit
1614
+ end
1615
+
1616
+ def to_json(options = {})
1617
+ hash = {}
1618
+ self.instance_variables.each do |var|
1619
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
1620
+ end
1621
+ hash.to_json
1622
+ end
1623
+ end
1624
+
1625
+ # GroupDeleteRequest identifies an AccountGroup by ID to delete.
1626
+ class AccountGroupDeleteRequest
1627
+ # The unique identifier of the group to delete.
1628
+ attr_accessor :id
1629
+
1630
+ def initialize(
1631
+ id: nil
1632
+ )
1633
+ @id = id == nil ? "" : id
1634
+ end
1635
+
1636
+ def to_json(options = {})
1637
+ hash = {}
1638
+ self.instance_variables.each do |var|
1639
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
1640
+ end
1641
+ hash.to_json
1642
+ end
1643
+ end
1644
+
1645
+ # GroupDeleteResponse returns information about an AccountGroup that was deleted.
1646
+ class AccountGroupDeleteResponse
1647
+ # Reserved for future use.
1648
+ attr_accessor :meta
1649
+ # Rate limit information.
1650
+ attr_accessor :rate_limit
1651
+
1652
+ def initialize(
1653
+ meta: nil,
1654
+ rate_limit: nil
1655
+ )
1656
+ @meta = meta == nil ? nil : meta
1657
+ @rate_limit = rate_limit == nil ? nil : rate_limit
1658
+ end
1659
+
1660
+ def to_json(options = {})
1661
+ hash = {}
1662
+ self.instance_variables.each do |var|
1663
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
1664
+ end
1665
+ hash.to_json
1666
+ end
1667
+ end
1668
+
1669
+ # AccountGroupGetRequest specifies which AccountGroup to retrieve.
1670
+ class AccountGroupGetRequest
1671
+ # The unique identifier of the AccountGroup to retrieve.
1672
+ attr_accessor :id
1673
+
1674
+ def initialize(
1675
+ id: nil
1676
+ )
1677
+ @id = id == nil ? "" : id
1678
+ end
1679
+
1680
+ def to_json(options = {})
1681
+ hash = {}
1682
+ self.instance_variables.each do |var|
1683
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
1684
+ end
1685
+ hash.to_json
1686
+ end
1687
+ end
1688
+
1689
+ # AccountGroupGetResponse returns a requested AccountGroup.
1690
+ class AccountGroupGetResponse
1691
+ # The requested AccountGroup.
1692
+ attr_accessor :account_group
1693
+ # Reserved for future use.
1694
+ attr_accessor :meta
1695
+ # Rate limit information.
1696
+ attr_accessor :rate_limit
1697
+
1698
+ def initialize(
1699
+ account_group: nil,
1700
+ meta: nil,
1701
+ rate_limit: nil
1702
+ )
1703
+ @account_group = account_group == nil ? nil : account_group
1704
+ @meta = meta == nil ? nil : meta
1705
+ @rate_limit = rate_limit == nil ? nil : rate_limit
1706
+ end
1707
+
1708
+ def to_json(options = {})
1709
+ hash = {}
1710
+ self.instance_variables.each do |var|
1711
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
1712
+ end
1713
+ hash.to_json
1714
+ end
1715
+ end
1716
+
1717
+ # AccountGroupHistory records the state of an AccountGroup at a given point in time,
1718
+ # where every change (create, update and delete) to an AccountGroup produces an
1719
+ # AccountGroupHistory record.
1720
+ class AccountGroupHistory
1721
+ # The complete AccountGroup state at this time.
1722
+ attr_accessor :account_group
1723
+ # The unique identifier of the Activity that produced this change to the AccountGroup.
1724
+ # May be empty for some system-initiated updates.
1725
+ attr_accessor :activity_id
1726
+ # If this AccountGroup was deleted, the time it was deleted.
1727
+ attr_accessor :deleted_at
1728
+ # The time at which the AccountGroup state was recorded.
1729
+ attr_accessor :timestamp
1730
+
1731
+ def initialize(
1732
+ account_group: nil,
1733
+ activity_id: nil,
1734
+ deleted_at: nil,
1735
+ timestamp: nil
1736
+ )
1737
+ @account_group = account_group == nil ? nil : account_group
1738
+ @activity_id = activity_id == nil ? "" : activity_id
1739
+ @deleted_at = deleted_at == nil ? nil : deleted_at
1740
+ @timestamp = timestamp == nil ? nil : timestamp
1741
+ end
1742
+
1743
+ def to_json(options = {})
1744
+ hash = {}
1745
+ self.instance_variables.each do |var|
1746
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
1747
+ end
1748
+ hash.to_json
1749
+ end
1750
+ end
1751
+
1752
+ # GroupListRequest specifies criteria for retrieving a list of groups.
1753
+ class AccountGroupListRequest
1754
+ # A human-readable filter query string.
1755
+ attr_accessor :filter
1756
+
1757
+ def initialize(
1758
+ filter: nil
1759
+ )
1760
+ @filter = filter == nil ? "" : filter
1761
+ end
1762
+
1763
+ def to_json(options = {})
1764
+ hash = {}
1765
+ self.instance_variables.each do |var|
1766
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
1767
+ end
1768
+ hash.to_json
1769
+ end
1770
+ end
1771
+
1772
+ # GroupListResponse returns a list of groups that meet the criteria of a
1773
+ # GroupListRequest.
1774
+ class AccountGroupListResponse
1775
+ # Rate limit information.
1776
+ attr_accessor :rate_limit
1777
+
1778
+ def initialize(
1779
+ rate_limit: nil
1780
+ )
1781
+ @rate_limit = rate_limit == nil ? nil : rate_limit
1782
+ end
1783
+
1784
+ def to_json(options = {})
1785
+ hash = {}
1786
+ self.instance_variables.each do |var|
1787
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
1788
+ end
1789
+ hash.to_json
1790
+ end
1791
+ end
1792
+
1553
1793
  # AccountHistory records the state of an Account at a given point in time,
1554
1794
  # where every change (create, update and delete) to an Account produces an
1555
1795
  # AccountHistory record.
@@ -2730,6 +2970,8 @@ module SDM
2730
2970
  class ApprovalFlowApprover
2731
2971
  # The approver account id.
2732
2972
  attr_accessor :account_id
2973
+ # The approver group id
2974
+ attr_accessor :group_id
2733
2975
  # A reference to an approver. Must be one of ApproverReference constants.
2734
2976
  # If set, the account_id and role_id must be empty.
2735
2977
  attr_accessor :reference
@@ -2738,10 +2980,12 @@ module SDM
2738
2980
 
2739
2981
  def initialize(
2740
2982
  account_id: nil,
2983
+ group_id: nil,
2741
2984
  reference: nil,
2742
2985
  role_id: nil
2743
2986
  )
2744
2987
  @account_id = account_id == nil ? "" : account_id
2988
+ @group_id = group_id == nil ? "" : group_id
2745
2989
  @reference = reference == nil ? "" : reference
2746
2990
  @role_id = role_id == nil ? "" : role_id
2747
2991
  end
@@ -6871,72 +7115,690 @@ module SDM
6871
7115
  end
6872
7116
  end
6873
7117
 
6874
- class HTTPAuth
6875
- # The content to set as the authorization header.
6876
- attr_accessor :auth_header
6877
- # 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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
6878
- attr_accessor :bind_interface
6879
- # Automatically redirect to this path upon connecting.
6880
- attr_accessor :default_path
6881
- # A filter applied to the routing logic to pin datasource to nodes.
6882
- attr_accessor :egress_filter
6883
- # Header names (e.g. Authorization), to omit from logs.
6884
- attr_accessor :headers_blacklist
6885
- # This path will be used to check the health of your site.
6886
- attr_accessor :healthcheck_path
6887
- # True if the datasource is reachable and the credentials are valid.
6888
- attr_accessor :healthy
6889
- # The host header will be overwritten with this field if provided.
6890
- attr_accessor :host_override
6891
- # Unique identifier of the Resource.
7118
+ # A Group is a named set of principals.
7119
+ class Group
7120
+ # Description of the Group.
7121
+ attr_accessor :description
7122
+ # Unique identifier of the Group.
6892
7123
  attr_accessor :id
6893
- # Unique human-readable name of the Resource.
7124
+ # Unique human-readable name of the Group.
6894
7125
  attr_accessor :name
6895
- # The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
6896
- attr_accessor :port_override
6897
- # ID of the proxy cluster for this resource, if any.
6898
- attr_accessor :proxy_cluster_id
6899
- # ID of the secret store containing credentials for this resource, if any.
6900
- attr_accessor :secret_store_id
6901
- # Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6902
- attr_accessor :subdomain
6903
- # Tags is a map of key, value pairs.
7126
+ # Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure.
7127
+ attr_accessor :source
7128
+ # Tags is a map of key/value pairs that can be attached to a Group.
6904
7129
  attr_accessor :tags
6905
- # The base address of your website without the path.
6906
- attr_accessor :url
6907
7130
 
6908
7131
  def initialize(
6909
- auth_header: nil,
6910
- bind_interface: nil,
6911
- default_path: nil,
6912
- egress_filter: nil,
6913
- headers_blacklist: nil,
6914
- healthcheck_path: nil,
6915
- healthy: nil,
6916
- host_override: nil,
7132
+ description: nil,
6917
7133
  id: nil,
6918
7134
  name: nil,
6919
- port_override: nil,
6920
- proxy_cluster_id: nil,
6921
- secret_store_id: nil,
6922
- subdomain: nil,
6923
- tags: nil,
6924
- url: nil
7135
+ source: nil,
7136
+ tags: nil
6925
7137
  )
6926
- @auth_header = auth_header == nil ? "" : auth_header
6927
- @bind_interface = bind_interface == nil ? "" : bind_interface
6928
- @default_path = default_path == nil ? "" : default_path
6929
- @egress_filter = egress_filter == nil ? "" : egress_filter
6930
- @headers_blacklist = headers_blacklist == nil ? "" : headers_blacklist
6931
- @healthcheck_path = healthcheck_path == nil ? "" : healthcheck_path
6932
- @healthy = healthy == nil ? false : healthy
6933
- @host_override = host_override == nil ? "" : host_override
7138
+ @description = description == nil ? "" : description
6934
7139
  @id = id == nil ? "" : id
6935
7140
  @name = name == nil ? "" : name
6936
- @port_override = port_override == nil ? 0 : port_override
6937
- @proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
6938
- @secret_store_id = secret_store_id == nil ? "" : secret_store_id
6939
- @subdomain = subdomain == nil ? "" : subdomain
7141
+ @source = source == nil ? "" : source
7142
+ @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
7143
+ end
7144
+
7145
+ def to_json(options = {})
7146
+ hash = {}
7147
+ self.instance_variables.each do |var|
7148
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7149
+ end
7150
+ hash.to_json
7151
+ end
7152
+ end
7153
+
7154
+ class GroupCreateFromRolesRequest
7155
+ # Commit
7156
+ attr_accessor :commit
7157
+ # The unique identifiers of the roles create groups from.
7158
+ attr_accessor :role_ids
7159
+
7160
+ def initialize(
7161
+ commit: nil,
7162
+ role_ids: nil
7163
+ )
7164
+ @commit = commit == nil ? false : commit
7165
+ @role_ids = role_ids == nil ? [] : role_ids
7166
+ end
7167
+
7168
+ def to_json(options = {})
7169
+ hash = {}
7170
+ self.instance_variables.each do |var|
7171
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7172
+ end
7173
+ hash.to_json
7174
+ end
7175
+ end
7176
+
7177
+ class GroupCreateFromRolesResponse
7178
+ # The created Group.
7179
+ attr_accessor :group_from_role
7180
+ # Rate limit information.
7181
+ attr_accessor :rate_limit
7182
+
7183
+ def initialize(
7184
+ group_from_role: nil,
7185
+ rate_limit: nil
7186
+ )
7187
+ @group_from_role = group_from_role == nil ? [] : group_from_role
7188
+ @rate_limit = rate_limit == nil ? nil : rate_limit
7189
+ end
7190
+
7191
+ def to_json(options = {})
7192
+ hash = {}
7193
+ self.instance_variables.each do |var|
7194
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7195
+ end
7196
+ hash.to_json
7197
+ end
7198
+ end
7199
+
7200
+ # GroupCreateRequest specifies a group to create.
7201
+ class GroupCreateRequest
7202
+ # Parameters to define the new Group.
7203
+ attr_accessor :group
7204
+
7205
+ def initialize(
7206
+ group: nil
7207
+ )
7208
+ @group = group == nil ? nil : group
7209
+ end
7210
+
7211
+ def to_json(options = {})
7212
+ hash = {}
7213
+ self.instance_variables.each do |var|
7214
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7215
+ end
7216
+ hash.to_json
7217
+ end
7218
+ end
7219
+
7220
+ # GroupCreateResponse reports the result of a create.
7221
+ class GroupCreateResponse
7222
+ # The created Group.
7223
+ attr_accessor :group
7224
+ # Rate limit information.
7225
+ attr_accessor :rate_limit
7226
+
7227
+ def initialize(
7228
+ group: nil,
7229
+ rate_limit: nil
7230
+ )
7231
+ @group = group == nil ? nil : group
7232
+ @rate_limit = rate_limit == nil ? nil : rate_limit
7233
+ end
7234
+
7235
+ def to_json(options = {})
7236
+ hash = {}
7237
+ self.instance_variables.each do |var|
7238
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7239
+ end
7240
+ hash.to_json
7241
+ end
7242
+ end
7243
+
7244
+ # groupDeleteRequest identifies a group by ID to delete.
7245
+ class GroupDeleteRequest
7246
+ # The unique identifier of the group to delete.
7247
+ attr_accessor :id
7248
+
7249
+ def initialize(
7250
+ id: nil
7251
+ )
7252
+ @id = id == nil ? "" : id
7253
+ end
7254
+
7255
+ def to_json(options = {})
7256
+ hash = {}
7257
+ self.instance_variables.each do |var|
7258
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7259
+ end
7260
+ hash.to_json
7261
+ end
7262
+ end
7263
+
7264
+ # groupDeleteResponse returns information about a group that was deleted.
7265
+ class GroupDeleteResponse
7266
+ # Reserved for future use.
7267
+ attr_accessor :meta
7268
+ # Rate limit information.
7269
+ attr_accessor :rate_limit
7270
+
7271
+ def initialize(
7272
+ meta: nil,
7273
+ rate_limit: nil
7274
+ )
7275
+ @meta = meta == nil ? nil : meta
7276
+ @rate_limit = rate_limit == nil ? nil : rate_limit
7277
+ end
7278
+
7279
+ def to_json(options = {})
7280
+ hash = {}
7281
+ self.instance_variables.each do |var|
7282
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7283
+ end
7284
+ hash.to_json
7285
+ end
7286
+ end
7287
+
7288
+ class GroupFromRole
7289
+ # The migrated Accounts.
7290
+ attr_accessor :accounts
7291
+ # The affected approval flows.
7292
+ attr_accessor :approval_flows
7293
+ # The group created from the source role.
7294
+ attr_accessor :group
7295
+ # Rate limit information.
7296
+ attr_accessor :rate_limit
7297
+ # The source role.
7298
+ attr_accessor :role
7299
+
7300
+ def initialize(
7301
+ accounts: nil,
7302
+ approval_flows: nil,
7303
+ group: nil,
7304
+ rate_limit: nil,
7305
+ role: nil
7306
+ )
7307
+ @accounts = accounts == nil ? [] : accounts
7308
+ @approval_flows = approval_flows == nil ? [] : approval_flows
7309
+ @group = group == nil ? nil : group
7310
+ @rate_limit = rate_limit == nil ? nil : rate_limit
7311
+ @role = role == nil ? nil : role
7312
+ end
7313
+
7314
+ def to_json(options = {})
7315
+ hash = {}
7316
+ self.instance_variables.each do |var|
7317
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7318
+ end
7319
+ hash.to_json
7320
+ end
7321
+ end
7322
+
7323
+ # GroupGetRequest specifies which Group to retrieve.
7324
+ class GroupGetRequest
7325
+ # The unique identifier of the Group to retrieve.
7326
+ attr_accessor :id
7327
+
7328
+ def initialize(
7329
+ id: nil
7330
+ )
7331
+ @id = id == nil ? "" : id
7332
+ end
7333
+
7334
+ def to_json(options = {})
7335
+ hash = {}
7336
+ self.instance_variables.each do |var|
7337
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7338
+ end
7339
+ hash.to_json
7340
+ end
7341
+ end
7342
+
7343
+ # GroupGetResponse returns a requested Group.
7344
+ class GroupGetResponse
7345
+ # The requested Group.
7346
+ attr_accessor :group
7347
+ # Reserved for future use.
7348
+ attr_accessor :meta
7349
+ # Rate limit information.
7350
+ attr_accessor :rate_limit
7351
+
7352
+ def initialize(
7353
+ group: nil,
7354
+ meta: nil,
7355
+ rate_limit: nil
7356
+ )
7357
+ @group = group == nil ? nil : group
7358
+ @meta = meta == nil ? nil : meta
7359
+ @rate_limit = rate_limit == nil ? nil : rate_limit
7360
+ end
7361
+
7362
+ def to_json(options = {})
7363
+ hash = {}
7364
+ self.instance_variables.each do |var|
7365
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7366
+ end
7367
+ hash.to_json
7368
+ end
7369
+ end
7370
+
7371
+ # GroupHistory records the state of a Group at a given point in time,
7372
+ # where every change (create, update and delete) to a Group produces a
7373
+ # GroupHistory record.
7374
+ class GroupHistory
7375
+ # The unique identifier of the Activity that produced this change to the Group.
7376
+ # May be empty for some system-initiated updates.
7377
+ attr_accessor :activity_id
7378
+ # If this Group was deleted, the time it was deleted.
7379
+ attr_accessor :deleted_at
7380
+ # The complete Group state at this time.
7381
+ attr_accessor :group
7382
+ # The time at which the Group state was recorded.
7383
+ attr_accessor :timestamp
7384
+
7385
+ def initialize(
7386
+ activity_id: nil,
7387
+ deleted_at: nil,
7388
+ group: nil,
7389
+ timestamp: nil
7390
+ )
7391
+ @activity_id = activity_id == nil ? "" : activity_id
7392
+ @deleted_at = deleted_at == nil ? nil : deleted_at
7393
+ @group = group == nil ? nil : group
7394
+ @timestamp = timestamp == nil ? nil : timestamp
7395
+ end
7396
+
7397
+ def to_json(options = {})
7398
+ hash = {}
7399
+ self.instance_variables.each do |var|
7400
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7401
+ end
7402
+ hash.to_json
7403
+ end
7404
+ end
7405
+
7406
+ # groupListRequest specifies criteria for retrieving a list of groups.
7407
+ class GroupListRequest
7408
+ # A human-readable filter query string.
7409
+ attr_accessor :filter
7410
+
7411
+ def initialize(
7412
+ filter: nil
7413
+ )
7414
+ @filter = filter == nil ? "" : filter
7415
+ end
7416
+
7417
+ def to_json(options = {})
7418
+ hash = {}
7419
+ self.instance_variables.each do |var|
7420
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7421
+ end
7422
+ hash.to_json
7423
+ end
7424
+ end
7425
+
7426
+ # groupListResponse returns a list of groups that meet the criteria of a
7427
+ # groupListRequest.
7428
+ class GroupListResponse
7429
+ # Rate limit information.
7430
+ attr_accessor :rate_limit
7431
+
7432
+ def initialize(
7433
+ rate_limit: nil
7434
+ )
7435
+ @rate_limit = rate_limit == nil ? nil : rate_limit
7436
+ end
7437
+
7438
+ def to_json(options = {})
7439
+ hash = {}
7440
+ self.instance_variables.each do |var|
7441
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7442
+ end
7443
+ hash.to_json
7444
+ end
7445
+ end
7446
+
7447
+ # A GroupRole assigns a Group to a Role.
7448
+ class GroupRole
7449
+ # The assigned Group ID.
7450
+ attr_accessor :group_id
7451
+ # Unique identifier of the GroupRole.
7452
+ attr_accessor :id
7453
+ # The assigned Role ID.
7454
+ attr_accessor :role_id
7455
+
7456
+ def initialize(
7457
+ group_id: nil,
7458
+ id: nil,
7459
+ role_id: nil
7460
+ )
7461
+ @group_id = group_id == nil ? "" : group_id
7462
+ @id = id == nil ? "" : id
7463
+ @role_id = role_id == nil ? "" : role_id
7464
+ end
7465
+
7466
+ def to_json(options = {})
7467
+ hash = {}
7468
+ self.instance_variables.each do |var|
7469
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7470
+ end
7471
+ hash.to_json
7472
+ end
7473
+ end
7474
+
7475
+ # GroupRoleCreateRequest specifies a group role to create.
7476
+ class GroupRoleCreateRequest
7477
+ # Parameters to define the new GroupRole.
7478
+ attr_accessor :group_role
7479
+
7480
+ def initialize(
7481
+ group_role: nil
7482
+ )
7483
+ @group_role = group_role == nil ? nil : group_role
7484
+ end
7485
+
7486
+ def to_json(options = {})
7487
+ hash = {}
7488
+ self.instance_variables.each do |var|
7489
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7490
+ end
7491
+ hash.to_json
7492
+ end
7493
+ end
7494
+
7495
+ # GroupRoleCreateResponse reports the result of a create.
7496
+ class GroupRoleCreateResponse
7497
+ # The created GroupRole.
7498
+ attr_accessor :group_role
7499
+ # Rate limit information.
7500
+ attr_accessor :rate_limit
7501
+
7502
+ def initialize(
7503
+ group_role: nil,
7504
+ rate_limit: nil
7505
+ )
7506
+ @group_role = group_role == nil ? nil : group_role
7507
+ @rate_limit = rate_limit == nil ? nil : rate_limit
7508
+ end
7509
+
7510
+ def to_json(options = {})
7511
+ hash = {}
7512
+ self.instance_variables.each do |var|
7513
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7514
+ end
7515
+ hash.to_json
7516
+ end
7517
+ end
7518
+
7519
+ # GroupRoleDeleteRequest identifies a group role by ID to delete.
7520
+ class GroupRoleDeleteRequest
7521
+ # The unique identifier of the group to delete.
7522
+ attr_accessor :id
7523
+
7524
+ def initialize(
7525
+ id: nil
7526
+ )
7527
+ @id = id == nil ? "" : id
7528
+ end
7529
+
7530
+ def to_json(options = {})
7531
+ hash = {}
7532
+ self.instance_variables.each do |var|
7533
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7534
+ end
7535
+ hash.to_json
7536
+ end
7537
+ end
7538
+
7539
+ # GroupRoleDeleteResponse returns information about a group that was deleted.
7540
+ class GroupRoleDeleteResponse
7541
+ # The deleted GroupRole.
7542
+ attr_accessor :group_role
7543
+ # Reserved for future use.
7544
+ attr_accessor :meta
7545
+ # Rate limit information.
7546
+ attr_accessor :rate_limit
7547
+
7548
+ def initialize(
7549
+ group_role: nil,
7550
+ meta: nil,
7551
+ rate_limit: nil
7552
+ )
7553
+ @group_role = group_role == nil ? nil : group_role
7554
+ @meta = meta == nil ? nil : meta
7555
+ @rate_limit = rate_limit == nil ? nil : rate_limit
7556
+ end
7557
+
7558
+ def to_json(options = {})
7559
+ hash = {}
7560
+ self.instance_variables.each do |var|
7561
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7562
+ end
7563
+ hash.to_json
7564
+ end
7565
+ end
7566
+
7567
+ # GroupRoleGetRequest specifies which GroupRole to retrieve.
7568
+ class GroupRoleGetRequest
7569
+ # The unique identifier of the GroupRole to retrieve.
7570
+ attr_accessor :id
7571
+
7572
+ def initialize(
7573
+ id: nil
7574
+ )
7575
+ @id = id == nil ? "" : id
7576
+ end
7577
+
7578
+ def to_json(options = {})
7579
+ hash = {}
7580
+ self.instance_variables.each do |var|
7581
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7582
+ end
7583
+ hash.to_json
7584
+ end
7585
+ end
7586
+
7587
+ # GroupRoleGetResponse returns a requested GroupRole.
7588
+ class GroupRoleGetResponse
7589
+ # The requested GroupRole.
7590
+ attr_accessor :group_role
7591
+ # Reserved for future use.
7592
+ attr_accessor :meta
7593
+ # Rate limit information.
7594
+ attr_accessor :rate_limit
7595
+
7596
+ def initialize(
7597
+ group_role: nil,
7598
+ meta: nil,
7599
+ rate_limit: nil
7600
+ )
7601
+ @group_role = group_role == nil ? nil : group_role
7602
+ @meta = meta == nil ? nil : meta
7603
+ @rate_limit = rate_limit == nil ? nil : rate_limit
7604
+ end
7605
+
7606
+ def to_json(options = {})
7607
+ hash = {}
7608
+ self.instance_variables.each do |var|
7609
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7610
+ end
7611
+ hash.to_json
7612
+ end
7613
+ end
7614
+
7615
+ # GroupRoleHistory records the state of a GroupRole at a given point in time,
7616
+ # where every change (create, update and delete) to a GroupRole produces a
7617
+ # GroupRoleHistory record.
7618
+ class GroupRoleHistory
7619
+ # The unique identifier of the Activity that produced this change to the GroupRole.
7620
+ # May be empty for some system-initiated updates.
7621
+ attr_accessor :activity_id
7622
+ # If this GroupRole was deleted, the time it was deleted.
7623
+ attr_accessor :deleted_at
7624
+ # The complete GroupRole state at this time.
7625
+ attr_accessor :group_role
7626
+ # The time at which the GroupRole state was recorded.
7627
+ attr_accessor :timestamp
7628
+
7629
+ def initialize(
7630
+ activity_id: nil,
7631
+ deleted_at: nil,
7632
+ group_role: nil,
7633
+ timestamp: nil
7634
+ )
7635
+ @activity_id = activity_id == nil ? "" : activity_id
7636
+ @deleted_at = deleted_at == nil ? nil : deleted_at
7637
+ @group_role = group_role == nil ? nil : group_role
7638
+ @timestamp = timestamp == nil ? nil : timestamp
7639
+ end
7640
+
7641
+ def to_json(options = {})
7642
+ hash = {}
7643
+ self.instance_variables.each do |var|
7644
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7645
+ end
7646
+ hash.to_json
7647
+ end
7648
+ end
7649
+
7650
+ # GroupRoleListRequest specifies criteria for retrieving a list of groups.
7651
+ class GroupRoleListRequest
7652
+ # A human-readable filter query string.
7653
+ attr_accessor :filter
7654
+
7655
+ def initialize(
7656
+ filter: nil
7657
+ )
7658
+ @filter = filter == nil ? "" : filter
7659
+ end
7660
+
7661
+ def to_json(options = {})
7662
+ hash = {}
7663
+ self.instance_variables.each do |var|
7664
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7665
+ end
7666
+ hash.to_json
7667
+ end
7668
+ end
7669
+
7670
+ # GroupRoleListResponse returns a list of group roles that meet the criteria of a
7671
+ # GroupRoleListRequest.
7672
+ class GroupRoleListResponse
7673
+ # Rate limit information.
7674
+ attr_accessor :rate_limit
7675
+
7676
+ def initialize(
7677
+ rate_limit: nil
7678
+ )
7679
+ @rate_limit = rate_limit == nil ? nil : rate_limit
7680
+ end
7681
+
7682
+ def to_json(options = {})
7683
+ hash = {}
7684
+ self.instance_variables.each do |var|
7685
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7686
+ end
7687
+ hash.to_json
7688
+ end
7689
+ end
7690
+
7691
+ # GroupUpdateRequest updates a group.
7692
+ class GroupUpdateRequest
7693
+ # Parameters to overwrite the specified group.
7694
+ attr_accessor :group
7695
+
7696
+ def initialize(
7697
+ group: nil
7698
+ )
7699
+ @group = group == nil ? nil : group
7700
+ end
7701
+
7702
+ def to_json(options = {})
7703
+ hash = {}
7704
+ self.instance_variables.each do |var|
7705
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7706
+ end
7707
+ hash.to_json
7708
+ end
7709
+ end
7710
+
7711
+ # groupUpdateResponse returns the fields of a group after it has been updated by
7712
+ # a groupUpdateRequest.
7713
+ class GroupUpdateResponse
7714
+ # The updated group.
7715
+ attr_accessor :group
7716
+ # Rate limit information.
7717
+ attr_accessor :rate_limit
7718
+
7719
+ def initialize(
7720
+ group: nil,
7721
+ rate_limit: nil
7722
+ )
7723
+ @group = group == nil ? nil : group
7724
+ @rate_limit = rate_limit == nil ? nil : rate_limit
7725
+ end
7726
+
7727
+ def to_json(options = {})
7728
+ hash = {}
7729
+ self.instance_variables.each do |var|
7730
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
7731
+ end
7732
+ hash.to_json
7733
+ end
7734
+ end
7735
+
7736
+ class HTTPAuth
7737
+ # The content to set as the authorization header.
7738
+ attr_accessor :auth_header
7739
+ # 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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7740
+ attr_accessor :bind_interface
7741
+ # Automatically redirect to this path upon connecting.
7742
+ attr_accessor :default_path
7743
+ # A filter applied to the routing logic to pin datasource to nodes.
7744
+ attr_accessor :egress_filter
7745
+ # Header names (e.g. Authorization), to omit from logs.
7746
+ attr_accessor :headers_blacklist
7747
+ # This path will be used to check the health of your site.
7748
+ attr_accessor :healthcheck_path
7749
+ # True if the datasource is reachable and the credentials are valid.
7750
+ attr_accessor :healthy
7751
+ # The host header will be overwritten with this field if provided.
7752
+ attr_accessor :host_override
7753
+ # Unique identifier of the Resource.
7754
+ attr_accessor :id
7755
+ # Unique human-readable name of the Resource.
7756
+ attr_accessor :name
7757
+ # The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7758
+ attr_accessor :port_override
7759
+ # ID of the proxy cluster for this resource, if any.
7760
+ attr_accessor :proxy_cluster_id
7761
+ # ID of the secret store containing credentials for this resource, if any.
7762
+ attr_accessor :secret_store_id
7763
+ # Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7764
+ attr_accessor :subdomain
7765
+ # Tags is a map of key, value pairs.
7766
+ attr_accessor :tags
7767
+ # The base address of your website without the path.
7768
+ attr_accessor :url
7769
+
7770
+ def initialize(
7771
+ auth_header: nil,
7772
+ bind_interface: nil,
7773
+ default_path: nil,
7774
+ egress_filter: nil,
7775
+ headers_blacklist: nil,
7776
+ healthcheck_path: nil,
7777
+ healthy: nil,
7778
+ host_override: nil,
7779
+ id: nil,
7780
+ name: nil,
7781
+ port_override: nil,
7782
+ proxy_cluster_id: nil,
7783
+ secret_store_id: nil,
7784
+ subdomain: nil,
7785
+ tags: nil,
7786
+ url: nil
7787
+ )
7788
+ @auth_header = auth_header == nil ? "" : auth_header
7789
+ @bind_interface = bind_interface == nil ? "" : bind_interface
7790
+ @default_path = default_path == nil ? "" : default_path
7791
+ @egress_filter = egress_filter == nil ? "" : egress_filter
7792
+ @headers_blacklist = headers_blacklist == nil ? "" : headers_blacklist
7793
+ @healthcheck_path = healthcheck_path == nil ? "" : healthcheck_path
7794
+ @healthy = healthy == nil ? false : healthy
7795
+ @host_override = host_override == nil ? "" : host_override
7796
+ @id = id == nil ? "" : id
7797
+ @name = name == nil ? "" : name
7798
+ @port_override = port_override == nil ? 0 : port_override
7799
+ @proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
7800
+ @secret_store_id = secret_store_id == nil ? "" : secret_store_id
7801
+ @subdomain = subdomain == nil ? "" : subdomain
6940
7802
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
6941
7803
  @url = url == nil ? "" : url
6942
7804
  end
@@ -8344,6 +9206,78 @@ module SDM
8344
9206
  end
8345
9207
  end
8346
9208
 
9209
+ # MCP is currently unstable, and its API may change, or it may be removed, without a major version bump.
9210
+ class MCP
9211
+ # 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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9212
+ attr_accessor :bind_interface
9213
+ # A filter applied to the routing logic to pin datasource to nodes.
9214
+ attr_accessor :egress_filter
9215
+ # True if the datasource is reachable and the credentials are valid.
9216
+ attr_accessor :healthy
9217
+ # The host to dial to initiate a connection from the egress node to this resource.
9218
+ attr_accessor :hostname
9219
+ # Unique identifier of the Resource.
9220
+ attr_accessor :id
9221
+ # Unique human-readable name of the Resource.
9222
+ attr_accessor :name
9223
+ # The password to authenticate with.
9224
+ attr_accessor :password
9225
+ # The port to dial to initiate a connection from the egress node to this resource.
9226
+ attr_accessor :port
9227
+ # The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9228
+ attr_accessor :port_override
9229
+ # ID of the proxy cluster for this resource, if any.
9230
+ attr_accessor :proxy_cluster_id
9231
+ # ID of the secret store containing credentials for this resource, if any.
9232
+ attr_accessor :secret_store_id
9233
+ # DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9234
+ attr_accessor :subdomain
9235
+ # Tags is a map of key, value pairs.
9236
+ attr_accessor :tags
9237
+ # The username to authenticate with.
9238
+ attr_accessor :username
9239
+
9240
+ def initialize(
9241
+ bind_interface: nil,
9242
+ egress_filter: nil,
9243
+ healthy: nil,
9244
+ hostname: nil,
9245
+ id: nil,
9246
+ name: nil,
9247
+ password: nil,
9248
+ port: nil,
9249
+ port_override: nil,
9250
+ proxy_cluster_id: nil,
9251
+ secret_store_id: nil,
9252
+ subdomain: nil,
9253
+ tags: nil,
9254
+ username: nil
9255
+ )
9256
+ @bind_interface = bind_interface == nil ? "" : bind_interface
9257
+ @egress_filter = egress_filter == nil ? "" : egress_filter
9258
+ @healthy = healthy == nil ? false : healthy
9259
+ @hostname = hostname == nil ? "" : hostname
9260
+ @id = id == nil ? "" : id
9261
+ @name = name == nil ? "" : name
9262
+ @password = password == nil ? "" : password
9263
+ @port = port == nil ? 0 : port
9264
+ @port_override = port_override == nil ? 0 : port_override
9265
+ @proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
9266
+ @secret_store_id = secret_store_id == nil ? "" : secret_store_id
9267
+ @subdomain = subdomain == nil ? "" : subdomain
9268
+ @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
9269
+ @username = username == nil ? "" : username
9270
+ end
9271
+
9272
+ def to_json(options = {})
9273
+ hash = {}
9274
+ self.instance_variables.each do |var|
9275
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
9276
+ end
9277
+ hash.to_json
9278
+ end
9279
+ end
9280
+
8347
9281
  # MTLSMysql is currently unstable, and its API may change, or it may be removed, without a major version bump.
8348
9282
  class MTLSMysql
8349
9283
  # 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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.